Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   De que depende el tamaño del Exe? (https://www.clubdelphi.com/foros/showthread.php?t=63029)

jcarteagaf 26-01-2009 22:23:00

De que depende el tamaño del Exe?
 
Hola amigos foreros, tengo la siguiente duda:

Tengo 2 pc para desarrollo (1 en la ofi y otra en casa), la misma aplicación compilada en casa genera un exe de mas de 3 megas (estoy compilando la aplicación sin las librerias, es decir distribuyo los bpls necesarios: uso la opcion Build with Runtime packages), la misma aplicación compilada en la ofi genera un exe de menos de 2 megas. Al mismo exe le aplico el UPX para reducir su tamaño, el de la ofi es de uno 680 Kb y el de la casa es de 1.2 Mb.

Las librerias de terceros que tengo instaladas (JVCL, DevExpress,etc) son las mismas en ambos equipos, con pequeñas diferencias.

Ademas instale una maquina virtual en la que puse windows xp y solo delphi con las librerias necesarias para compilar la aplicación, esta produce tambien exes mas pequeños que los que genera el Delphi que tengo en casa. La pregunta del millón es: ¿de que depende el tamaño del Exe?, ¿por qué el delphi que tengo en casa genera Exes mas grandes siendo que la configuración es casi la misma? Podrian darme una mano con esto por favor.

Tengo ademas una duda: distribuyo los BPL's de mis aplicaciones (son varios exes y me es mas facil enviar exes pequeños una vez que los BPL's han sido instalados), los bpls los pongo en Windows\System32 o en la carpeta donde esta la aplicación, sin embargo me gustaria tener una carpeta llamada BPL (o lo que sea) y decirle a la aplicación que busque ahi las BPL's, existe alguna forma de hacerlo desde la aplicación o es necesario añadir esta carpeta al Path de busqueda.

Gracias por adelantado por su tiempo y su ayuda

Saludos.

JXJ 27-01-2009 05:25:06

Falta saber si el Delphi de tu casa, es la misma version y con los mismos parches, y demas updates, hotfix.

por que delphi entre cada nueva version. sus archivos .Pas
crecen de tamaño y si en tu trabajo oficina, tienes delphi5 y en tu casa delphi 2007
aun con los mismos componentes el exe resultante es mas pesado.

otra menos posible sien mismas versiones de Delphi
es que tu proyecto de tu casa sea con el perfil Debug
y en tu oficina sea con el perfil Release.

el perfil debug agrega informacino al ejecutable que hace que sea mas facil depurar usando un depurador. pero el perfil release no le agrega esa informacion. es mas ligero
el ejecutabl pero mas dificil su depuracion.

Neftali [Germán.Estévez] 27-01-2009 10:12:49

Cita:

Empezado por jcarteagaf (Mensaje 335992)
¿de que depende el tamaño del Exe?, ¿por qué el delphi que tengo en casa genera Exes mas grandes siendo que la configuración es casi la misma?

Tengo ademas una duda: distribuyo los BPL's de mis aplicaciones (son varios exes y me es mas facil enviar exes pequeños una vez que los BPL's han sido instalados), los bpls los pongo en Windows\System32 o en la carpeta donde esta la aplicación, sin embargo me gustaria tener una carpeta llamada BPL (o lo que sea) y decirle a la aplicación que busque ahi las BPL's, existe alguna forma de hacerlo desde la aplicación o es necesario añadir esta carpeta al Path de busqueda.

En cuanto a lo primero, apuesto también por el tema de la información de Debug. Seguramente no tienes exactamente la misma configuración en ambas máquinas. Para eliminarla sin tener que cambiar las configuraciones hay una utilidad llamada TDSPack de Dimusware; Que te permite eliminar la información de debug de los EXE y BPL's; Así no tienes que ir cambiando configuraciones. Pásale esa aplicación a tu EXE y BPL's y a ver si siguen "pesando" diferente.

En cuanto a lo del path, me da la impresión de que no, a no ser que los cargues de forma dinámica (cosa que no comentas); Primero se busca en el directorio y luego en el path.

jcarteagaf 27-01-2009 11:05:42

Gracias a ambos por sus respuestas.

JXJ, perdon por olvidar mencionarlo, en ambos equipos tengo el Delphi 7 Enterprise (Build 8.1).

Respecto al perfil de Debug o Release no estoy muy seguro en donde se activa esta opción, pero no depende eso de las opciones del proyecto?, en caso de que asi sea al llevar el fuente del proyecto de una maquina a otra no deberia obtener el mismo resultado?.

Use el TDSPack sobre mi ejecutable en casa y me dio la siguiente respuesta:

No debug information in EXE-File.

Aun sigo con esta duda.....a ver si pueden darme mas luces sobre ello.

Respecto a los BPLs, no los cargo dinamicamente, simplemente los copio a la maquina donde correran mis aplicaciones, no son librerias hechas por mi (excepto una, pero solo contiene 2 componentes que hice).

Gracias otra vez por su tiempo.

Saludos

JXJ 28-01-2009 05:13:06

mmm... pues si eliminas los dcu. y demas archivos intermedios..
que no son necesarios para recompilar tu programa.

los perfiles son para delphi 2006, 2007
no se si en delphi 2005.

pero es lo mismo de la configuracion del proyecto
donde dice algo de debug information.

de casualidad no tienes el eurekalog
instalado en tu pc delphi IDE de tu casa

o algunas imagenes.. o dcus. que no tienes en tu pc de trabajo

dijo por que luego si en tu pc de trabajo solo pusiste unos componentes
en el IDE, guardaste el trabajo y luego los eliminaste. con solo
seleccionar el componente y click en Supr. o Del. delete.
delphi no quita las referencias a unidades pascal y las compila o integra al binario final

alguna imagen mas pesada.

jcarteagaf 28-01-2009 10:54:30

Efectivamente tengo el Eurekalog en ambos equipos....de todas maneras solo aumenta unos cuantos kbs al ejecutable.

He desmarcado la opcion Debug information y nada. Sin embargo mi duda sigue: si depende de la configuración del proyecto y yo llevo todo el proyecto de una maquina a otra no deberia tener exes iguales? Lo mismo se aplicaria a las referencias a objetos o componentes en las uses, ya que el fuente es el mismo en ambos equipos.

Seguire investigando.......

Gracias por sus consejos.


La franja horaria es GMT +2. Ahora son las 13:19:06.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi