Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das InfoPath 2003-kompatible Objektmodell stellt Objekte und Auflistungen bereit, mit deren Hilfe der Zugriff auf Informationen zur InfoPath-Anwendung ermöglicht wird, einschließlich Informationen zu dem einem Formular zugrunde liegenden XML-Dokument und der Formulardefinitionsdatei (XSF). Auf diese Daten wird über das Objekt der obersten Ebene in der InfoPath-Objektmodellhierarchie zugegriffen, das mithilfe der Application-Schnittstelle instanziiert wird.
Ein InfoPath 2003-kompatibles Formularvorlagenprojekt mit verwaltetem Code, das mit Visual Studio 2012 erstellt wurde, initialisiert die thisApplication
Variable in der _Startup
-Methode der Formularcodeklasse, die für den Zugriff auf die Member der Application-Schnittstelle verwendet werden kann. Im folgenden Beispiel werden die Eigenschaften Name und Version der Application-Schnittstelle verwendet, um den Namen und die Versionsnummer des ausgeführten instance von InfoPath zurückzugeben. Diese Informationen werden mithilfe der Warnungsmethode der UI2-Schnittstelle in einem Meldungsfeld angezeigt.
thisXDocument.UI.Alert("Application name: " + thisApplication.Name +
"\nApplication version: " + thisApplication.Version);
thisXDocument.UI.Alert("Application name: " & thisApplication.Name & _
vbNewLine & "Application version: " & thisApplication.Version)
Im Visual C#-Beispiel wird der Verweis auf das Zeichen in der \n
Zeichenfolge für die Warnmeldung von nicht verwaltetem InfoPath-Code als standardmäßiger neuer Zeilenvorschub gerendert, der dazu führt, dass der Text unterbrochen und in einer neuen Zeile im Meldungsfeld platziert wird. Um explizit den neuen Zeilenwert zu verwenden, der für die aktuelle Umgebung und Plattform definiert wurde, sollten Sie die Environment.NewLine-Eigenschaft verwenden, wie dies im folgenden Beispiel dargestellt ist.
thisXDocument.UI.Alert("Application name: " + thisApplication.Name +
Environment.NewLine + "Application version: " +
thisApplication.Version);
Zugreifen auf Daten aus dem zugrunde liegenden XML-Dokument eines Formulars
Entwickler können die XDocument-Schnittstelle verwenden, um Zugriff auf Informationen über das einem Formular zugrunde liegende XML-Dokument zu erhalten, einschließlich eines Verweises auf ein XML-Dom (Document Object Model), das die XML-Quelldaten des Formulars enthält.
Im folgenden Beispiel zeigt das erste Meldungsfeld einige der Daten an, die über die XDocument-Schnittstelle verfügbar sind, z. B. ob das zugrunde liegende XML-Dokument geändert wurde (mithilfe der IsDirty-Eigenschaft ) und ob es digital signiert wurde (mithilfe der IsSigned-Eigenschaft ). Im nächsten Meldungsfeld wird die DOM-Eigenschaft der XDocument-Schnittstelle verwendet, um die XML-Quelldatei des dem Formular zugrunde liegenden XML-Dokuments anzuzeigen.
thisXDocument.UI.Alert("\nIsDirty: " + thisXDocument.IsDirty +
"\nIsDOMReadOnly: " + thisXDocument.IsDOMReadOnly +
"\nIsNew: " + thisXDocument.IsNew +
"\nIsReadOnly: " + thisXDocument.IsReadOnly +
"\nIsSigned: " + thisXDocument.IsSigned);
thisXDocument.UI.Alert(thisXDocument.DOM.xml);
thisXDocument.UI.Alert("IsDirty: " & thisXDocument.IsDirty & vbNewLine & _
"IsDOMReadOnly: " & thisXDocument.IsDOMReadOnly & vbNewLine & _
"IsNew: " & thisXDocument.IsNew & vbNewLine & _
"IsReadOnly: " & thisXDocument.IsReadOnly & vbNewLine & _
"IsSigned: " & thisXDocument.IsSigned)
thisXDocument.UI.Alert(thisXDocument.DOM.xml)
Die xml-Eigenschaft, die im vorangegangenen Beispiel verwendet wurde, ist eine Eigenschaft des XML-DOM (Document Object Model). Weitere Informationen zum XML-DOM finden Sie in der Dokumentation zum MSXML 5.0-SDK.
Zugreifen auf Daten aus der Formulardefinitionsdatei eines Formulars
Auf Informationen zur XSF-Datei eines Formulars, einschließlich eines XML-DOM-Verweises auf die darin enthaltenen XML-Quelldaten, kann auch über die XDocument-Schnittstelle zugegriffen werden. Auf diese Informationen wird mithilfe der Solution-Eigenschaft zugegriffen, die einen Verweis auf die SolutionObject-Schnittstelle zurückgibt.
Im folgenden Beispiel zeigt die erste Warnung einige der Daten an, die über die SolutionObject-Schnittstelle verfügbar sind, z. B. den Speicherort des Uniform Resource Identifier (URI) (mithilfe der URI-Eigenschaft ) und die Versionsnummer (mithilfe der Version-Eigenschaft ). Die nächste Warnung verwendet die DOM-Eigenschaft der SolutionObject-Schnittstelle , um den Quell-XML-Code der XSF-Datei anzuzeigen.
thisXDocument.UI.Alert("PackageURL: " +
thisXDocument.Solution.PackageURL +
"\nURI: " + thisXDocument.Solution.URI +
"\nVersion: " + thisXDocument.Solution.Version);
thisXDocument.UI.Alert(thisXDocument.Solution.DOM.xml);
thisXDocument.UI.Alert("PackageURL: " & _
thisXDocument.Solution.PackageURL & vbNewLine & _
"URI: " & thisXDocument.Solution.URI & vbNewLine & _
"Version: " & thisXDocument.Solution.Version)
thisXDocument.UI.Alert(thisXDocument.Solution.DOM.xml)