Visual Foxpro : comando ON SHUTDOWN

Fecha Publicación:       26 de Diciembre de 2023
Fecha Modificación:       26 de Diciembre de 2023

El comando ON SHUTDOWN ,  Especifica un comando que se ejecuta cuando intenta salir de Visual FoxPro o Microsoft Windows.

Especifica un comando que se ejecuta cuando intenta salir de Visual FoxPro o Microsoft Windows.

El comando que especifique en ON SHUTDOWN se ejecuta si intenta salir de Visual FoxPro. Si intenta salir de Microsoft Windows mientras Visual FoxPro está abierto, el control regresa a Visual FoxPro y se ejecuta el comando que especifique en ON SHUTDOWN .

El comando ON SHUTDOWN suele ser un comando DO que ejecuta una rutina para mostrar un cuadro de diálogo. El cuadro de diálogo le pregunta si está seguro de querer salir de la aplicación actual y de Visual FoxPro. Si desea salir de la aplicación, la rutina puede cerrar archivos abiertos, limpiar el entorno de Visual FoxPro y luego ejecutar QUIT . Si no desea salir de la aplicación actual, la rutina puede devolver el control a la aplicación.

 

ON SHUTDOWN fvsalida ()
ON ERROR DO Errores WITH ERROR( ), MESSAGE( ), MESSAGE(1), PROGRAM( ), LINENO( )

DO FORM ingreso

READ EVENTS   && detiene el programa aqui 

&& Los Comandos de la parte inferior sn los que se ejecutan cuando ejecutamos salir

_SCREEN.Picture= ""
release all
close all
clear program
clear memory
clear all
IF VERSION(2) <> 0 
    IF VERSION(3) = "34"    && Española
	    KEYBOARD '{ALT+A}1'
	ELSE
    	KEYBOARD '{ALT+F}1' 
	ENDIF
ENDIF
ON ERROR  && Restaurar el controlador de errores del sistema

ON SHUTDOWN  && cancelar el primer ON SHUTDOWN
 

 

PROCEDURE fvsalida

iNumeroFormas=_SCREEN.FORMCOUNT

FOR i=iNumeroFormas TO 1 STEP -1
     _SCREEN.FORMS(i).RELEASE
ENDFOR


ENDDO

 

¿Por qué? Debido a que el comando ON SHUTDOWN todavía está en efecto. En vez de cerrer, VFP está ejecutándo únicamente un CLEAR EVENTS, esto no tiene efecto si està en el ambiente de desarrollo y no hay ningun programa corriendo.

Para evitar esto, regrese a su aplicación, y agregue una vez más el comando ON SHUTDOWN. Esta vez, sólo ponga ON SHUTDOWN. Ponga esto en el código de limpieza, esto es, en algún lugar después de READ EVENTS. Su efecto será el de cancelar el primer ON SHUTDOWN.

Articulo : 833 - Veces Leidas
Compartir Articulo: