Ver Mensaje Individual
  #3  
Antiguo 05-10-2004
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.275
Reputación: 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 Xianto
...Quisiera que los que hayan incursionado en este tema, cuenten alguna de las soluciones que han encontrado...
Primero y antes de nada, supongo que ésta ya las ha hecho porque es básica, asegúrete de eliminar toda la info. de debug del ejecutable. Project/optiones/pestañas compiler y linker. Es información que necesitas para programar, pero no en el ejecutable final. Ésto mismo también lo puedes hacer pasándolo al ejecutable ésta aplicación (de los creadores de Exception Magic):
TDSPack

También puedes probar a pasarle al ejecutable ésta aplicación (de Jordan Russell) para eliminar la "relocation section" de EXE (en su página está la explicación completa):

StripReloc



A partir de ahí entiendo que tienes dos opciones:

(a) Utilizar compresores de ejecutables (alguno de los que tú comentas, por ejemplo, o cualquier otro de los disponibles -UPX, ASPack, CExe,NeoLite, PECompack, Petite, PKlite32, Shrinker, WWPack32,EZP, FSG, JDPack, MWE, ...-), con lo que tu aplicación queda igual (en cuanto a diseño), pero lo que haces es comprimirla. Al ejecutarse, tu aplicación se descomprime en memoria y se ejecuta, no tiene más secreto.
(b) Utilizar packages, ya sea estáticos o dinámicos; Entiendo que ésto es una decisión más de diseño. Si utilizas estáticos, es como partir tu aplicación en pequeños trozos. Al ejecutarla se cargan todos los trozos en memoria (y vuelves a tener el programa entero en memoria, pero en trozitos); Si utilizas dinámicos la programación se complica un poco y conseguirás tener en memoria cuando ejecutes sólo los que necesites. El tema de packages en general te obligará a tener otras cosas en cuenta, como, los packages a distribuir en la instalación, versiones de packages (tuyos y los que ya puedan existir en la máquina donde instales),...

Si quieres afinar mucho más en el tamaño, hay otras soluciones, pero algunas de ellas ya son a tener en cuenta en la programación:
* Utilizar las librerías KOL KOL.
* Intentar utilizar la VCL lo menos posible (o no usarla):
http://www.luckie-online.de/Tutorials/
http://www.delphi-source.de/tutorials/nonvcl/
* Utilizar ACL (API Controls Library):
http://www.apress.ru/pages/bokovikov/delphi/index.html
* Cuidado con las imágenes que se añaden a los formularios y el formato en que se añaden. Si se utilizan imágenes de forma repetida utilizar recursos y no añadirlas en diseño.
* Añadir el mínimo posible de propiedades al DFM:
http://www.undu.com/DN970301/00000064.htm

Espero que te sirva.
__________________
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