Cerrar aplicacion y a la vez executar otra.
Hola:
Estoy trabajando en un actualizador de programas, que consta de 2 programas, el 1ro que es el principal que cuando el usuario se autentifica hace un chequeo de la version y si esta es menor te envia un mensaje de aviso se cierra y mandar a ejecutar el actualizador, que lo que hace es copiar desde un Path la nueva version para el directorio de trabajo. El actualizador solo trabaja perfectamente. Pero cuando cierro el programa se levanta el actualizador pero se cae sin terminar de actualizar. Esre es el codigo. Utilizo Deplhi 7.
Saludos Luis Garcia |
Hola lgarcia.
En la parte del código que mostras, la línea de WinExec nunca se ejecuta ya que llamas al método Close en la línea previa. De todos modos pienso que es el programa actualizador quién debería evaluar la versión y de ser necesario, realizar las tareas de actualización. Saludos :) |
Cerrar aplicacion y a la vez executar otra.
Muchas gracias eficsa por tu respuesta, con relacion a lo que me recomiendas de que el actualizador es el que debia lanzarse 1ro, el problemas es que la comparacion del numero de la version es a traves de una consulta a una tabla de la BD, por lo que antes necesito autenticarme para comprobar las versiones.
|
Hola lgarcia.
Cita:
Saludos :) |
Cita:
El Close, realiza las tareas necesarias para cerrar el formulario, pero no detiene la ejecución del código. Creo que en muchos casos (si no en todos) el WinExec sí se ejecuta. Basta con poner un botón con el siguiente código:
Y veremos que el Notepad se abre. |
Cita:
Deberías explicar mejor que hace este segundo programa. ¿Es posible que el actualizador haga alguna operación y el programa principal todavía esté funcionando y por eso falla? |
Cerrar aplicacion y a la vez executar otra
gracias por la respuesta Neftali
el codigo del actualizador es el siguiente:
Saludos Luis |
Añádele un try..except para detectar posibles problemas.
Algo Así:
|
A ver si te levanta algún error.
|
Cerrar aplicacion y a la vez executar otra
ok, voy a probar.
|
Hola lgarcia.
Si entendí bien, deseas copiar otra version de la aplicación llamando desde esta misma a un actualizador que sobreescribirá una nueva versión de la misma. El problema es, que mientras la aplicación se esté ejecutando, el s.o. no permitirá que sobreescribas su archivo ejecutable. Y por otro lado, no veo manera que la aplicación ejecute al actualizador cuando no se está ejecutando (ya esta cerrada). Yo me refería a que hicieras algo parecido a este ejemplo, Aplicación:
Actualizador:
Saludos :) |
Cerrar aplicacion y a la vez executar otra
Todo quedo Estelar con la última contribución de Ecfisa.
Muchas gracias a todos y saludos. Saludos Luis Garcia |
La franja horaria es GMT +2. Ahora son las 09:30:50. |
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