Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-08-2005
AFilth AFilth is offline
Miembro
 
Registrado: ago 2005
Posts: 119
Poder: 19
AFilth Va por buen camino
Como reiniciar (cerrar y volver a abrir) mi propio programa??

Hola a todos, es la primera vez que escribo en el foro, aunque ya llevaba algun tiempo mirandolo ya que actualmente trabajo con Delphi.
Alguien sabe como podria, tras cerra mi aplicacion, volverla a abrir??
Lo que quiero acer es algo asi:

if MessageDlg('Los cambios serán aplicados tras reiniciar el programa ' + #13 +
'¿Desea hacerlo ahora?',
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
"Reiniciar el programa" else
FPrincipal.Close();

Todo esto viene precedido de poder editar desde dentro del programa unos cambios en el .ini que solo deberian ser usados tras reiniciar el mismo.

Un saludo y gracias.
Responder Con Cita
  #2  
Antiguo 10-08-2005
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,

Prueba con algo así:

Código Delphi [-]
 procedure AppRestart;
 begin
   WinExec(Pchar(ParamStr(0)), SW_NORMAL);
   TerminateProcess(GetCurrentProcess, 0);
 end;

Por cierto, el procedimiento se basa en uno que puede encontrarse en la librería Delphi Works.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 10-08-2005
AFilth AFilth is offline
Miembro
 
Registrado: ago 2005
Posts: 119
Poder: 19
AFilth Va por buen camino
Muchas gracias por la respuesta Dec, lo acabo de probar pero esa solucion no me vale del todo.

El problema es q intenta volver a abrir el programa antes de cerrarlo lo cual no es valido, ya q puede darme bastantes problemas.

La solucion q ando buscando es q se cierre lo primero el programa y despues mediante la ejecucion de algun fichero batch o algo asi q leve un delay de 1 o 2 segundos se vuelva a llamar al ejecutable del programa.

Tienes idea de como podria hacer eso?

Un saludo y gracias de nuevo.
Responder Con Cita
  #4  
Antiguo 10-08-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Necesitas una pequeña aplicación (lanzadera) que:
(1) Compruebe que tu programa ya no seestá ejecutando (FindWindows por ejemplo)
(2) Ejecute tu programa.

Antes de cerrar la tuya ejecutas la aplicación lanzadera y luego cierras la tuya.

Para mayor seguridad, yo lo que hago es añadirle un parámetro a la aplicación lanzadera y comprobarlo, de manera que sólo funciona correctamente si se le ha pasado ese parámetro (desde tu aplicación se lo pasas). De ésta foprma, si se llama por equivocación desde la línea de comandos (sin parámetro) no hace nada.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 10-08-2005
Phacko Phacko is offline
Miembro
 
Registrado: jul 2004
Posts: 157
Poder: 20
Phacko Va por buen camino
Quiza urgando en el regedit....

Que tal????

Si lo que quieres es que se reinicie tu aplicacion junto con Win checate esta dir:

http://www.q3.nu/trucomania/index.html

Última edición por Phacko fecha: 10-08-2005 a las 18:14:00. Razón: Modificarlo
Responder Con Cita
  #6  
Antiguo 10-08-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Phacko
...Si lo que quieres es que se reinicie tu aplicacion junto con Win
Creo que no va por ahí la cosa...
Textualmente:

Cita:
Empezado por AFilth
Alguien sabe como podria, tras cerrar mi aplicacion, volverla a abrir??
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


La franja horaria es GMT +2. Ahora son las 17:56:08.


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