Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ¿Como cerrar todos los módulo de una aplicacion? (https://www.clubdelphi.com/foros/showthread.php?t=1475)

ElCherchu 16-06-2003 18:10:07

¿Como cerrar todos los módulo de una aplicacion?
 
Hola amigos!!!

Tengo una aplicación que carga un menu principal y desde éste se cargan los demás módulos del sistema mediante la sentencia WinExec, asi: por ejemplo WinExec('C:\sistema\nomina.exe', 1);, ejecuta a nomina.

Lo que quiero es que cuando cierre el menu principal tambien se cierren los módulos que esten abiertos.

Gracias desde ya...

ElCherchu....

Bacterion 16-06-2003 18:40:17

Pues me parece que tendrás que cambiar el WinExec por ShellExecute (un poco más complicado de usar) que devuelve un handle a la aplicación lanzada.
Te guardas el Handle en algún sitio y luego haces un PostMessage(HandleDeLaAplicacion, WM_CLOSE, 0, 0) o algo así.
(Vamos, le mandas un mensaje de cierre).
Lo que no se es que pasará si la aplicación ya se cerró...

jafl1965 16-06-2003 19:37:53

No sé si es la manera más óptima pero así lo tengo yo:


a:= 0 ;
a:= FindWindow(nil,'Polizas') ;
if a<>0 then
begin
ShowMessage('Debe cerrar primero el módulo de Pólizas') ;
SendMessage(a,WM_CLOSE,0,0) ;
end ;

Debes tener presente que si, en este caso Pólizas, tiene una Dialog por el estilo de "Seguro quiere Salir? S/N" Se va a mostrar....
Saludos,

delphi.com.ar 17-06-2003 17:36:06

Creo que ya te han contestado tu pregunta, pero igualmente te recomiendo que leas este link, donde se propone una forma mas "elegante" y práctica de modularizar aplicaciones.

http://www.clubdelphi.com/foros/show...ht=modularizar


La franja horaria es GMT +2. Ahora son las 11:34:58.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi