Cerrar el "Front Panel" de un ejecutable mediante programación

Actualizado el Nov 16, 2019

Reportado en

Software

  • LabVIEW Application Builder Module
  • LabVIEW

Detalles del problema

Tengo un ejecutable que fue construido con LabVIEW Application Builder, y quiero que la aplicación se cierre cuando termine de ejecutarse. Intenté habilitar las opciones para Show Front Panel When Called y luego Close Afterwards if Originally Closed en VI Setup » Execution Options , pero no tuvieron ningún efecto. ¿Cómo puedo hacer que mi aplicación se cierre cuando haya terminado de ejecutarse?

Solución

Las opciones de configuración de VI para Show Front Panel When Called y Close Afterwards if Originally Closed, solo afectarán a un VI cuando se llame como subVI, no como el VI principal. Lo mismo ocurre cuando construyes un VI en un ejecutable.

Puede utilizar el método Close FP para cerrar el panel frontal de su VI en cualquier punto de su programa siguiendo estos pasos:
  1. Coloque una función de Open VI Reference en el block diagram. Esta función se puede encontrar en la paleta de funciones yendo a Programming » Application Control » Open VI Reference.
  2. Haga clic derecho en la entrada VI Path y vaya a Create » Constant . Introduzca el nombre de este VI en la constante.
  3. Coloque invoke node en el block diagram en el punto de su programa donde desee que se cierre el front panel. Esta función se puede encontrar en la paleta de funciones yendo a Programming » Application Control » Invoke Node. 
  4. Conecte la salida de Open VI Reference al invoke node
  5. Haga clic en el nodo de invocación y seleccione Front Panel » Close.
  6. Ejecute su VI. Cuando el programa haya alcanzado el invoke node, su VI se cerrará. Esto funcionará de la misma manera cuando tu VI se construya como un ejecutable.
El siguiente ejemplo muestra esta implementación con un botón para activar el cierre de su front panel. La aplicación testclose.exe en los archivos adjuntos a continuación muestra este comportamiento en forma ejecutable.
 

Información adicional

Para las versiones de LabVIEW anteriores a 7.0, necesitará usar la función  Quit LabVIEW para hacer que el panel frontal de su ejecutable se cierre de manera programática. Esta función se encuentra en la paleta de funciones en Application Control. La desventaja de este enfoque es que todos los ejecutables de LabVIEW que están abiertos se cerrarán en el momento en que se llame a esta función.