Declaraciones globales

www.altova.com Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio >  Referencia del programador > Editor de scripts >

Declaraciones globales

El componente DeclaracionesGlobales está presente por defecto en todos los proyectos de scripting (imagen siguiente) y, por tanto, no hace falta crearlo. Para poder agregar variables y funciones al script de declaraciones globales, debe abrir el script de declaraciones globales y añadirle el fragmento de código correspondiente. Para más información consulte el apartado Componentes de un proyecto de scripting y Crear un proyecto de scripting.

 

ScrGlobalDeclarations

 

Para abrir un script de declaraciones globales de un proyecto de scripting, primero haga clic con el botón derecho en el nodo DeclaracionesGlobales de la Estructura del proyecto de scripting (imagen anterior). Después seleccione Abrir y el script de declaraciones globales se abre en la ventana principal del Editor de scripts.

 

Nota:        cada vez que se ejecuta una macro o que se llama a un controlador de eventos, las declaraciones globales se vuelven a inicializar.

 

A continuación puede ver un ejemplo de función. Recuerde que si crea una variable o función en el script de declaraciones globales, los formularios, controladores de eventos y macros podrán acceder a esa variable o función.

 

Ejemplo de función

La función de nuestro ejemplo se llama QuitarTodosEspaciosDeNombres y este es su código:

 

function QuitarTodosEspaciosDeNombres(objXMLData)

{

 if(objXMLData == null)

         return;

         

 if(objXMLData.HasChildren)        {        

         var objChild;

         

         // spyXMLDataElement := 4

         objChild = objXMLData.GetFirstChild(4);

         

         while(objChild)        {

         QuitarTodosEspaciosDeNombres(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;

                         }

                 }

         }

 }                                                                                                

 

 

 

Nota:

 

Puede definir variables locales y funciones auxiliares dentro de macros y controladores de eventos. Por ejemplo:

 

//valor devuelto: true permite la edición

//valor devuelto: false no permite la edición

var txtLocal;

function Helper()

{

 txtMessage = txtLocal;

 Application.ShowForm("MsgBox");

}

function On_BeforeStartEditing(objXMLData)

{

 txtLocal = "On_BeforeStartEditing()";

 Helper();

}

 

El uso de funciones recursivas es compatible.

 


© 2019 Altova GmbH