Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Aplicaciones actualizables (https://www.clubdelphi.com/foros/showthread.php?t=69697)

ElDuc 02-09-2010 18:51:01

Aplicaciones actualizables
 
Hola delphinianos,

Estoy iniciando una aplicación por lo que inicié el hilo ¿Con qué Delphi trabajar?.

La cuestión es que necesito hacer una aplicación que pueda ser actualizable con futuras versiones o revisiones.

Yo había pensado hacer la aplicación de tal forma que se distribuyera el ejecutable junto con las unidades compiladas, de esta forma si hago modificaciones sobre una unidad, sólo tengo que distribuir esa unidad y no toda la aplicación.

También pensaba que eso lo podría hacer simplemente desactivando la casilla “Build with runtime packages” en las opciones de la aplicación.

El problema es que si hago eso, el ejecutable queda muy pequeño pero cuando lo ejecuto en un ordenador que no tiene Delphi instalado empieza a pedirme librerías del propio Delphi.

Lo que yo necesito es que sólo me pida las unidades compiladas y no las librerías de Delphi u otro proveedor de componentes que haya utilizado.

¿Sabéis si esto es posible hacerlo? o ¿estoy pretendiendo un milagro?

Como siempre gracias por vuestra colaboración.

santus 02-09-2010 19:01:44

Estas trabajando con BPLs? o dlls?, o que?

Con bpls no te debería de pedir librerías. Solo tienes que distruibuir el ejecutable con todas las bpls que se llaman desde el exe. Sino quizá te falten librerias de las bases de datos. Que base de datos utilizas?, Con que lo conectas? (bde, dbx)...

Si puedes poner el mensaje del error que te arroja, quizá te podamos ayudar mejor.

Saludos.

ElDuc 02-09-2010 21:25:03

Hola Santus, gracias por tu interés.

Aunque no sé mucho de esto y no entiendo muy bien tu pregunta, te puedo cecir que por el momento no trabajo con DLLs. Si las BPLs te refieres a las librerías que están en "Project / Options / Packages" entonces la respuesta es sí, precisamente es donde desactivo la casilla que he comentado.

Posiblemente trabajar con DLLs sería una opción, pero no las conozco muy bien.

Yo pensaba en la posibilidad de que en lugar de incluir las unidades compiladas dentro del ejecutable, éste las cargara desde el disco cuando las va necesitando, de esta forma yo podría sobreescribir una única unidad en lugar de todo el ejecutable, pero que el "proyecto" en cada PC ya tubiera las librerias BPL necesarias.

Por ejemplo:
  1. Tenemos un formulario principal que se ejecuta al iniciar la aplicación, denominado MAIN
  2. Tenemos dos formularios que se abren pulsando un botón del MAIN, denominadas FROM_1 y FORM_2
  3. Tenemos una unidad con procedimientos y/o funciones que son utilizadas por todos: MAIN, FORM_1 y FORM_2, a la que denominamos ROUTINES.
  4. Tenemos una unidad con las clases que son utilizadas por todos: MAIN, FORM_1, FORM_2 y ROUTINES, a la que denominamos CALSES.
  5. Y por último tenemos una unidad de datos, que es utilizada por alguna de las otras unidades y que denominamos DATA.
Lógicamente la forma de utilizar unidades es incluir su nombre en la cláusula Uses de la unidad que la quiere utilizar.

Pues bien, se trata de que en el ejecutable sólo se incluya la unidad MAIN (no es imprescindible) y no las otras, de esta forma si cambiamos algo sobre alguna de las otras unidades sólo tendremos que reescribir ésta.


La franja horaria es GMT +2. Ahora son las 14:34:12.

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