Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   version del proyecto (https://www.clubdelphi.com/foros/showthread.php?t=1485)

shaktale 17-06-2003 11:24:44

version del proyecto
 
Hola a todos,

Tengo una aplicación que voy subiendo a la red (LAN) conferme voy haciendo modificaciones.

Los usuarios tiene que bajarse las nuevas versiones del ejecutable para sustituirlas por las viejas.

Lo que quiero conseguir es que cuando un usuario ejecute la aplicación ésta compruebe si la versión que hay en la red es más reciente que la en ejecución.

Mirando por el foro (aqui ) he conseguido obtener la versión de la aplicación.

Ahora lo que necesito es saber (no se si se podrá hacer) la versión de la otra aplicación, es decir, conocer la versión de una aplicación que no está en ejecución.

Gracias por vuestra ayuda

Bacterion 17-06-2003 11:49:08

Bueno, tendrás dos ejecutables, el local y el remoto (el que está en el servidor y que tienes que comprobar si es posterior al Local para machacar)...
El código de ese post sirve para cualquier fichero (basta cambiar el Params(0) por el filename del fichero a mirar...
luego solo tienes que hacerlo de ambos (que tendrán trayectorias distintas), comparar y si encuentra uno mejor, comprelo.

__cadetill 17-06-2003 11:51:28

En principio sólo tendrias que cambiar esta linea del ejemplo que indicas

Código:

Size := GetFileVersionInfoSize(PChar (ParamStr (0)), Size2);
En lugar de pasarle ParamStr (0) pasale el path del exe que quieras saber

Espero te sirva

delphi.com.ar 17-06-2003 17:31:33

Como otra solución sencilla, te recomendaría trabajar con la fecha de creación del ejecutable, y te obviarías problemas con la actualización de la versión.

Saludos!

shaktale 18-06-2003 11:54:32

Gracias por vuestras respuestas.


Lo de sustituir el ParamStr era obvio pero no me habia dado cuenta :eek:.

Siguiendo con el tema de lo de las versiones. ¿Cómo se podría hacer este proceso de forma transparente al usuario? Quiero decir, cuando ejecuta la aplicación y comprueba que hay una nueva, sustuir la antigua en el equipo local del usuario y ejecutarla sin que él note nada de esto.

Lo unico que se me ocurre es hacerlo mediante dos aplicaciones, la primera se limitaría a comprobar la versión, hacer la copia si es necesario y lanzar la "verdadera" aplicación. ¿Se le ocurre a alguien otra forma? Es que no me parece muy limpio dejar al usuario los 2 ejecutables.

__cadetill 18-06-2003 15:44:40

Cita:

Posteado originalmente por shaktale
Lo unico que se me ocurre es hacerlo mediante dos aplicaciones, la primera se limitaría a comprobar la versión, hacer la copia si es necesario y lanzar la "verdadera" aplicación. ¿Se le ocurre a alguien otra forma? Es que no me parece muy limpio dejar al usuario los 2 ejecutables.
Para reemplazar un ejecutable (o cualquier archivo), es la unica manera que hay, ya que si éste esta en marxa, el SO no permite reemplazarlo

delphi.com.ar 18-06-2003 16:58:15

Hace un tiempo, he propuesto en mi empresa, un programita que sería un menú con todas los aplicativos de la empresa, cuando el usuario selecciona uno de estos aplicativos comprueba su versión / fecha contra la de uno en el servidor, si son iguales ejecuta directamente el que esta en el disco del cliente, caso contrario copia previamente el EXE al disco del cliente y luego lo ejecuta normalmente.


La franja horaria es GMT +2. Ahora son las 12:40: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