Globale Deklarationen

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Referenz für Programmierer > Skripterstellung >

Globale Deklarationen

Die Komponente "Global Declarations" ist standardmäßig in jedem Skripting-Projekt vorhanden (siehe Abbildung unten) und muss daher nicht erstellt werden. Um Variablen und Funktionen zum Global Declarations-Skript eines Skripting-Projekts hinzuzufügen, müssen Sie das Global Declarations-Skript öffnen und das Codefragment zu diesem Skript hinzufügen. Nähere Informationen hierzu finden Sie unter Komponenten eines Skripting-Projekts und Erstellen eines Skripting-Projekts.

 

 

ScrGlobalDeclarations

 

Klicken Sie zum Öffnen des Global Declarations-Skripts mit der rechten Maustaste in der Skripting-Projektstruktur auf den Eintrag Global Declarations (Abbildung oben) und wählen Sie den Befehl Öffnen. Daraufhin wird das Global Declarations-Skript im Hauptfenster geöffnet.

 

Anmerkung:        Bei jeder Ausführung eines Makros bzw. bei jedem Aufruf eines Event Handlers werden die globalen Deklarationen neu initialisiert.

 

Unten sehen Sie eine Beispielfunktion. Denken Sie daran: Wenn Sie eine Variable oder Funktion im Global Declarations-Skript erstellen, so kann diese Variable oder Funktion von allen Formularen, Event Handlern und Makros aus aufgerufen werden.

 

 

Beispielfunktion

Eine Funktion namens RemoveAllNamespaces hätte den folgenden Code:

 

function RemoveAllNamespaces(objXMLData)

{

 if(objXMLData == null)

         return;

         

 if(objXMLData.HasChildren)        {        

         var objChild;

         

         // spyXMLDataElement := 4

         objChild = objXMLData.GetFirstChild(4);

         

         while(objChild)        {

         RemoveAllNamespaces(objChild);

         

                         try        {

                                 var nPos,txtName;

                                 txtName = objChild.Name;

                         

                                 if((nPos = txtName.indexOf(":")) >= 0)        {

                                         objChild.Name = txtName.substring(nPos+1);

                                 }

                                 

         objChild = objXMLData.GetNextChild();

                         }

                         catch(Err)        {

                                 objChild = null;

                         }

                 }

         }

 }                                                                                                

 

 

 

Anmerkung:

 

Es besteht die Möglichkeit lokale Variablen und Hilfsfunktionen innerhalb von Makros und Event Handlern zu definieren. Beispiel:

 

//return value: true allows editing

//return value: false disallows editing

var txtLocal;

function Helper()

{

 txtMessage = txtLocal;

 Application.ShowForm("MsgBox");

}

function On_BeforeStartEditing(objXMLData)

{

 txtLocal = "On_BeforeStartEditing()";

 Helper();

}

 

Rekursive Funktionen werden unterstützt.

 


© 2019 Altova GmbH