Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-09-2008
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.488
Poder: 21
MAXIUM Va camino a la fama
Exclamation Ejecutar algo tras cerrar aplicación.

Hola, mi consulta sobre como puedo ejecutar algo tras cerrar la aplicación.

Me explico, la idea es que tras enviar el evento Close de la Forma, ejecute un programa externo pero asegurandose de que ya este previamente cerrada la primera antes de arrancar la segunda usando Winexec si que hay otra opción, gracias
Responder Con Cita
  #2  
Antiguo 11-09-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

El siguiente procedimiento sirve para reiniciar nuestra aplicación, igual podría servirte algo similar:

Código Delphi [-]
procedure RebootApp();
begin
  WinExec(PChar(ParamStr(0)), SW_NORMAL);
  TerminateProcess(GetCurrentProcess, 0);
end;
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 11-09-2008
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.488
Poder: 21
MAXIUM Va camino a la fama
Vaya DEC, horas de trasnoche no?!, gracias por la ayuda. Se que el asunto es difícil ya que es como quitarse las calcetas con los zapatos puestos.

Meditando veo que tendré que usar otra aplicación anexa que se encargue de cerrar la mia, que verifique que así a sido y posteriormente arrancar otra.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  Mango:integer;
begin
  Mango:=FindWindow(nil,'Calculadora');
  if mango=0 then 
    ShowMessage('No encuentro esa aplicacion')
  else
    SendMessage(Mango,WM_CLOSE,0,0);
end;

Este código tampoco me es útil ya que el título de la ventana en mi caso cambia al azar jejeje.

El comando taskkill, solo arranca en Win con tecnología NT, y a mi me gustaría que también lo hiciese en Win98 (vamos no os burleís, mira que hay empresas muy tacañas )

De todos modos Gracias. Seguiré mañana a ver como alumbra el día
Responder Con Cita
  #4  
Antiguo 11-09-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola, podrias probar dentro del mismo programa de delphi, en la unit del proyecto, despues de application.run poner application.free, y llamar la otra usando el winexec (en teoria la aplicacion ya esta completamente finalizada, y sus forms, cerradas y recursos liberados, por lo que "no existe" en el entorno del SO)
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cerrar la aplicación tras un tiempo de inactividad mjjj Varios 2 21-04-2008 14:49:32
Ejecutar sentencias tras ejecución de otro programa Novás Varios 2 30-08-2007 15:06:28
guardar algo al cerrar windows gulder API de Windows 2 12-09-2005 17:11:39
Ejecutar algo antes de que se cierre la aplicación Jan_polero API de Windows 3 28-02-2005 10:45:47
Ejecutar algo despues de WinExec u otro Tonio Varios 1 03-09-2003 15:46:23


La franja horaria es GMT +2. Ahora son las 19:40:11.


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
Copyright 1996-2007 Club Delphi