¿Cómo cerrar la aplicación usando JSL?Todos,
No puedo encontrar una manera de hacer lo siguiente:
Digamos que tengo una aplicación en forma de AddIn.
Para que funcione con éxito, necesita que se cumplan algunas condiciones. Cuando no lo son, quiero crear una ventana modal con una descripción de lo que se necesita para ejecutar la aplicación y, al presionar el botón "Aceptar", cerrar la aplicación (aunque no JMP).
¿Cómo puedo cerrar una aplicación en ejecución dentro de esta aplicación usando JSL (lo pondré como script en Butotn Box con "OK").
Gracias,
METRO.
Re: ¿Cómo cerrar la aplicación usando JSL?Esto es lo que necesitaba. Dado que 'thisModuleInstance' está reservado, sería útil agregar alguna documentación cuando un usuario crea una nueva aplicación, por ejemplo

Re: ¿Cómo cerrar la aplicación usando JSL?Una cosa a tener en cuenta es que cada ventana creada por una aplicación JMP está asociada con una instancia de módulo.En el script del módulo, puede hacer algo como:
(thisModuleInstance << Obtener cuadro) << Cerrar ventana;
También podría utilizar cualquiera de los cuadros que definen el contenido del módulo.Verá que este enfoque se utiliza en la aplicación JMP de muestra "Lanzador con informe".En este ejemplo, se crea una ventana de inicio en un módulo para recopilar información y, en "Aceptar", se cierra la ventana de inicio y se crea la ventana del informe.
Re: ¿Cómo cerrar la aplicación usando JSL?¡Gracias! Esto resuelve el problema de las comprobaciones previas al lanzamiento.
Sin embargo, aún sería útil saber cómo cerrar una ventana de la aplicación.
Cerrarlo por el título como se sugirió anteriormente no parece ser confiable ya que el título puede cambiar (y cambio el título en mis scripts para varias ventanas).
¿Hay alguna forma de controlar la ventana principal de la aplicación?
Gracias,
METRO
Re: ¿Cómo cerrar la aplicación usando JSL?La aplicación JMP tiene un script incorporado que sería un buen lugar para verificaciones como estas.El flujo de trabajo de la aplicación es:
Ejecutar secuencia de comandos de la aplicación;
para cada módulo (
si (el módulo es de inicio automático,
módulo<
);
);
Una forma de agregar controles previos al lanzamiento para sus aplicaciones sería:
1. Desactive el inicio automático para todos los módulos (seleccione en el panel de objetos, desactive el inicio automático en las propiedades)
2. En la pestaña de secuencia de comandos de la aplicación:
okToLaunch = /* insertar condiciones */
si (okParaLanzamiento,
Módulo1 << Crear Instancia,
/* si no, muestra el diálogo de error y sale */
);
Re: ¿Cómo cerrar la aplicación usando JSL?Prueba esto:
window(" - Application")<< close window;
Puede especificar el nombre de la ventana o el número de la ventana, o si creó la ventana y tiene un puntero a la ventana, simplemente puede pasar << cerrar ventana; mensaje a la misma.
Puede usar este pequeño fragmento de código para averiguar todos los nombres de las ventanas
i = 1;
While( Window( i ) << get window title != {},
Show( Window( i ) << get window title );
i++;
);Re: ¿Cómo cerrar la aplicación usando JSL?Bien, probé lo siguiente:
Creó una aplicación en blanco, nombre predeterminado del Módulo1. Creó un botón con el siguiente código:
Button1Press=Function({this},
// This function is called when the button is pressed
name = this << Get Button Name;
show("Trying to close App");
thisModuleInstance << Close Window;
thisApplication << Close Window;
Module1 << Close Window;
);Ninguna de las tres opciones funcionó.
Entonces, ¿cómo obtengo el nombre de la ventana de la aplicación?
Gracias,
METRO.
Re: ¿Cómo cerrar la aplicación usando JSL?Por lo general, solo cierro las ventanas asociadas con la aplicación
obj << close window;