Sdílet prostřednictvím


_XDocument2.Extension-Eigenschaft

Ruft einen Verweis auf das globale Skriptobjekt ab, das die Funktionen und globalen Variablen verfügbar macht, die in der primären Formularcodedatei eines Formulars enthalten sind.

Diese Eigenschaft ist nicht CLS-kompatibel.  

Namespace: Microsoft.Office.Interop.InfoPath.SemiTrust
Assembly: Microsoft.Office.Interop.InfoPath.SemiTrust (in microsoft.office.interop.infopath.semitrust.dll)

Syntax

'Declaration
<DispIdAttribute(11)> _
ReadOnly Property Extension As Object
'Usage
Dim instance As _XDocument2
Dim value As Object

value = instance.Extension
[DispIdAttribute(11)] 
Object Extension { get; }

Hinweise

Das Extension-Objekt erleichtert die Verwendung von Funktionen und globalen Variablen, die in der Skriptdatei eines InfoPath-Formulars implementiert sind. Normalerweise wird das Objekt von einem benutzerdefinierten Aufgabenbereich oder einem benutzerdefinierten Dialogfeld aus oder aber in der XSL-Transformation (XSLT) einer Ansicht verwendet, in der ein direkter Zugriff auf die Funktionen und Variablen erforderlich sein kann.

Um das Extension-Objekt in einem benutzerdefinierten Aufgabenbereich zu verwenden, müssen Sie zuerst einen Verweis auf das XDocument-Objekt mithilfe der external-Eigenschaft des window-Objekts von DHTML (Dynamic HTML) festlegen, wie in diesem Beispiel gezeigt wird:

objXDocument = window.external.XDocument;
HinweisWichtig:

Auf den Member kann nur über Formulare zugegriffen werden, die in derselben Domäne wie das zurzeit geöffnete Formular ausgeführt werden, oder über Formulare, denen domänenübergreifende Berechtigungen erteilt wurden.

Beispiel

Im folgenden Beispiel wird die Extension-Eigenschaft über die ObjectWrapper-Schnittstelle verwendet, um die benutzerdefinierte Methode MyMethod aufzurufen. Diese ist bei Verwendung der Extension-Eigenschaft in verwaltetem Code erforderlich:

ObjectWrapper o = (ObjectWrapper)thisApplication.XDocuments[0].Extension;
 o.GetType().InvokeMember("MyMethod",
 BindingFlags.InvokeMethod |
 BindingFlags.DeclaredOnly | 
 BindingFlags.Public |  
 BindingFlags.Instance, null, o, null);

Im folgenden Beispiel kann vom benutzerdefinierten Aufgabenbereich aus über die Extension-Eigenschaft auf die myCustomMethod-Methode der InfoPath-Projektklasse zugegriffen werden:

//Custom method added to the project
public string myCustomMethod()
{
return "Method value";
}

Für den Zugriff auf myCustomMethod vom benutzerdefinierten Aufgabenbereich aus verwenden Sie die external-Eigenschaft des window-Objekts von DHTML:

objXDocument = window.external.XDocument;
myString = objXDocument.Extension.myCustomMethod();

Siehe auch

Referenz

_XDocument2-Schnittstelle
_XDocument2-Member
Microsoft.Office.Interop.InfoPath.SemiTrust-Namespace