Migración al editor de scripts versión 2010 y superior

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

Inicio >  Referencia del programador > Editor de scripts >

Migración al editor de scripts versión 2010 y superior

El Editor de scripts de XMLSpy versión 2010 y superior está basado en una tecnología subyacente distinta a las de las versiones previas del Editor. Por tanto, quizás deba modificar los proyectos de scripting creados con versiones de XMLSpy anteriores a la versión 2010. A este respecto debe tener en cuenta que:

 

Si un proyecto de scripting antiguo (archivo .prj) se abre en el nuevo Editor de scripts (versión 2010 o superior), la disposición gráfica de los formularios se migrará lo más fielmente posible y los scripts se copiarán tal y como están en el archivo .prj. Después tendrá que modificar los scripts para ajustarlos a la nueva tecnología utilizada por el Editor de scripts versión 2010 o superior, que se describe en esta documentación.

 

El objeto TheView: el antiguo entorno de scripting ofrecía una propiedad artificial llamada TheView a la que solo se podía acceder desde controladores de eventos. Se usaba para acceder al formulario que desencadenó el evento (bien directamente o desde uno de sus controles secundarios). El nuevo entorno de scripting no ofrece esta propiedad artificial, pero sigue ofreciendo la misma función gracias a las funciones auxiliares de scripting integradas ortogonales y a la potencia de .NET Framework.

 

Como todos los controladores de eventos del nuevo entorno de scripting obtienen un objeto sender como primer parámetro, el código que desencadenó el evento siempre está disponible. Al llamar a la función .NET FindForm() en el objeto sender, podemos acceder al objeto Form con facilidad. Otra opción (si solamente hay un objeto Form) es usar la propiedad integrada lastform. Recuerde que el uso de lastform no se limita a los controladores de eventos (como ocurría con TheView), sino que se puede utilizar en cualquier parte del código de script.

 

A continuación puede ver la lista de métodos y propiedades del objeto TheView acompañados de los mecanismos equivalentes ofrecidos por el entorno de scripting de la versión 2010 y superior.

 

 

Métodos

Estos métodos que ofrecía el objeto TheView deben migrarse tal y como explicamos a continuación:

 

Cancel()

En el nuevo entorno de scripting puede conseguir lo mismo con: lastform.Close(); // Use .NET Form.Close()

 

IsFormOpen(Name as String) as Boolean

Como en los formularios .NET no es lo mismo mostrar un formulario que crear una instancia del formulario, este concepto no tiene un equivalente directo. En cambio, el usuario puede preguntar si se está mostrando cierto formulario. Por ejemplo:

 

 var objFormPencilSelector = CreateForm("PencilSelector");

 var objFormColorSelector = CreateForm("ColorSelector");

         ...

 // Anywhere in code ...

 

 if(objFormColorSelector.Visible)

 {

         ...

 }

 

FormFind(Name as String) as Object

El nuevo entorno de scripting permite crear instancias de más formularios del mismo tipo. En el entorno de scripting antiguo cada formulario podía existir una vez como máximo (como Singleton). Por tanto, en el nuevo entorno de scripting no hay un equivalente de FormFind().

 

OpenDoc(File as String)

Puede conseguir lo mismo con:        Application.OpenDocument( File as String )

 

PumpData()

Esto equivale a la función integrada doevents() que procesa todos los mensajes de Windows que están en ese momento en la cola de mensajes.

 

RunClick(), RunInitialize(), RunTerminate()

No hay un equivalente directo para estos métodos. La alternativa es llamar directamente a los controladores correspondientes.

 

 

Propiedades

Estas propiedades que ofrecía el objeto TheView deben migrarse tal y como explicamos a continuación:

 

ToolTipText as String

Para usar información rápida en el nuevo entorno de scripting, puede usar la infraestructura .NET. Así podrá controlar el comportamiento de la información rápida (ajustando retrasos, cuándo aparece, etc.). Por ejemplo, si quiere ofrecer información rápida para un formulario compuesto por dos controles, puede añadir este código al controlador de eventos Load del formulario:

 

         //Aparece cada vez que el usuario carga el formulario.

         function MyForm_Load( objSender, e_EventArgs )

         {

                 // Crear la información rápida ToolTip y asociarla al contenedor del formulario.

                 var toolTip = CLR.Create("System.Windows.Forms.ToolTip");

 

                 // Establecer los retrasos para la información rápida.

                 toolTip.AutoPopDelay = 3000;

                 toolTip.InitialDelay = 1000;

                 toolTip.ReshowDelay = 500;

 

                 // Obligar a que aparezca el texto de información rápida

                 // independientemente de si el formulario está activo o no.

                 toolTip.ShowAlways = true;

                                 

                 // Establecer el texto de información rápida para varios controles.

                 toolTip.SetToolTip(objSender.ProgressBar1,

                                   "Shows the progress of the operation");

                 toolTip.SetToolTip(objSender.Button1,

                                 "Click Button to start the processing");

         }

 

Color as Long

Como todos los controles y formularios del nuevo entorno de scripting son controles .NET del espacio de nombres System.Windows.Forms, hay muchas posibilidades para modificar colores, la imagen de fondo, las fuentes y otros aspectos visuales. Por ejemplo, todos los componentes visuales tienen las propiedades BackColor y ForeColor que permiten modificar el aspecto visual del componente. Por ejemplo, puede usar este controlador para cambiar el color de un botón en tiempo de ejecución:

 

 function TestForm_Button1_Click( objSender, e_EventArgs )

 {

         objSender.BackColor = CLR.Static( "System.Drawing.Color" ).SlateBlue;

 }

 

Para más información puede consultar la documentación de .NET sobre este tema:

http://msdn.microsoft.com/es-es/library/system.windows.forms.aspx

 


© 2019 Altova GmbH