Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-06-2014
adrall adrall is offline
Miembro
 
Registrado: ene 2007
Posts: 94
Poder: 18
adrall Va por buen camino
Tamaño del ejecutable en Delphi XE6

Hola a todos,

Hasta ahora he estado desarrollando en Delphi XE, hoy he descargado y he instalado la versión de prueba del nuevo Delphi XE6 porque ya estoy pensando en actualizarme. He probado diversas cosas positivamente pero me ha sorprendido el tamaño resultante del ejecutable.

Una simple aplicacion VCL con un TButton y un TLabel ocupa más de 10 Mb.!! y haciendo uso de FireDAC, un TQuery y TDbGrid resultaba de 16 Mb. ¿Es esto es normal en estas ultimas versiones? o es que debo realizar alguna desactivación de librerias o algo así para que no las incluya en el EXE... ya no recuerdo si debia seguir algun paso de este tipo despues de la instalación...

Gracias por vuestras respuestas.

Saludos
Responder Con Cita
  #2  
Antiguo 18-06-2014
oscorm oscorm is offline
Miembro
 
Registrado: ago 2004
Ubicación: Alcorcón
Posts: 59
Poder: 20
oscorm Va por buen camino
USA UPX que te hará un ejecutable bastante más pequeño esa es la solución más rápida y directa, en caso de que te quieras embarcar en deshabilitar Units, tendrás que quitar todo aquello que no te interesa; además hay diferencia entre la aplicación con una configuración Debug y la con configuración Release.
Saludos
Responder Con Cita
  #3  
Antiguo 18-06-2014
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.488
Poder: 20
MAXIUM Va camino a la fama
Usar UPX no es la solución. No es lo optimo.

En Delphi 7 eso mismo ocupa máximo 600kb.
Responder Con Cita
  #4  
Antiguo 19-06-2014
adrall adrall is offline
Miembro
 
Registrado: ene 2007
Posts: 94
Poder: 18
adrall Va por buen camino
Daba por supuesto que si no se utiliza alguna funcion, etc. de una unit, el compilador no la incluye en el ejecutable.

oscorm: Siempre he usado la configuración por defecto que debe ser Debug, ¿podrias indicarme como lo hago para obtener una version Release? Gracias
Responder Con Cita
  #5  
Antiguo 19-06-2014
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.278
Poder: 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 adrall Ver Mensaje
Hola a todos,

Hasta ahora he estado desarrollando en Delphi XE, hoy he descargado y he instalado la versión de prueba del nuevo Delphi XE6 porque ya estoy pensando en actualizarme. He probado diversas cosas positivamente pero me ha sorprendido el tamaño resultante del ejecutable.

Una simple aplicacion VCL con un TButton y un TLabel ocupa más de 10 Mb.!! y haciendo uso de FireDAC, un TQuery y TDbGrid resultaba de 16 Mb. ¿Es esto es normal en estas ultimas versiones? o es que debo realizar alguna desactivación de librerias o algo así para que no las incluya en el EXE... ya no recuerdo si debia seguir algun paso de este tipo despues de la instalación...
Hola.
Es cierto que el tamaño de los ejecutables han subido junto con las versiones de Delphi.
El programa que tú comentas, en Delphi6/7 no sobrepasaría 1 MG (casi seguro) y en la versión del Delphi XE6 se va a 2.3 Megas (en la versión 32b) y unos 3.6 megas en la versión de 64 bits.
Si buscas por internet hay explicaciones detalladas de porqué ese crecimiento de tamaño.

Los 10 megas que te salen a tí, es porque estás añadiendo información de Debug.
Ahora es más sencillo cambiar entre uno y otro (en comaración con las versiones antiguas). Basta con que en el proyecto (Project Manager) selecciones como "Build Configuration", Release o Debug, dependiendo si estás trabajando a diario o estás generando una versión definitiva.
Puedes "tocar" manualmente las opciones de cada una de estas configuraciones y afinar un como más, pero tal y como vienen configuradas ya debería valer.

__________________
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
  #6  
Antiguo 19-06-2014
adrall adrall is offline
Miembro
 
Registrado: ene 2007
Posts: 94
Poder: 18
adrall Va por buen camino
Es cierto, el tamaño del EXE se reduce drasticamente en modo Release. En mi caso estoy acostumbrado a usar la libreria MadShi madExcept que es muy util para depurar las aplicaciones ya que puedes obtener un informe completo del error, incluyendo numeros de linea, etc. e incluso puedes automatizar el envio de un e-mail con el report del error producido en el ordenador del cliente y, logicamente, en modo Release no funciona.

En XE, una aplicación con multitud de Forms, accesso a MySQL con infinidad de TQuerys usando componentes DEVART, reports FastReports, GLib i en modo Debug me ocupa menos de 6Mb, en XE6 una mini aplicacion de prueba con un solo TQuery, un FastReport i un par de botones en modo Debug me ocupa 21 Mb. Me pregunto si hay alguna manera de limitar lo que el compilador incluye en el EXE, por ejemplo obviar partes de la VCL no utilizadas o algo así.

Gracias por las respuestas y saludos
Responder Con Cita
  #7  
Antiguo 19-06-2014
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.278
Poder: 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
Revisa las opciones detalladas.
Tal vez ahí puedas afinar un poco más.

Me suena también que en cierta manera puedes controlar la información RTTI que añades al EXE. Es una de las cosas que ha mejorado en las versiones nuevas, pero que también ha incrementado el tamaño del EXE.
Revisa este link:
http://docwiki.embarcadero.com/RADSt...ith_RTTI_Index

Ahí se puede leer esto:

...
Use the following compiler directives to control the generation of run-time type information. You may want to restrict the generation of RTTI to reduce the executable size.
...
__________________
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
  #8  
Antiguo 22-06-2014
adrall adrall is offline
Miembro
 
Registrado: ene 2007
Posts: 94
Poder: 18
adrall Va por buen camino
Estoy mirando de deshabilitar RTTI pero esto escapa un poco de mi nivel, bastante básico... de todas formas aquí os dejo un link que creo que ofrece información bastante clara: http://www.zipplet.co.uk/index.php/c...delphi2010rtti

He probado en XE el primer punto: Introducir las directivas en el DPR, i reduce un poco el ejecutable. El Lunes lo probaré en XE6 a ver que pasa.

Saludos
Responder Con Cita
  #9  
Antiguo 23-06-2014
adrall adrall is offline
Miembro
 
Registrado: ene 2007
Posts: 94
Poder: 18
adrall Va por buen camino
Bien, el resultado en XE6 para una aplicacion simple con acceso a MySQL remoto, 1 DbGrid, un par de botones y un FastReport simple, es el siguiente:

Deshabilitando RTTI en el DPR: 18,089 Mb. en Debug y 5,307 Mb. en Release, y sin deshabilitar RTTI: 20,054 Mb. en Debug y 5,810 en Release.

Para deshabilitar he usado estas directivas de compilador:

Código Delphi [-]
{$WEAKLINKRTTI ON} 
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}


Saludos
Responder Con Cita
  #10  
Antiguo 25-06-2014
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.278
Poder: 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

Gracias por el feedbak.
__________________
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
  #11  
Antiguo 27-06-2014
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
Es realmente necesaria la información RTTI? (Pregunto desde mi ignorancia)
Puede traerme algún inconvenientes des habilitarla?
__________________
Saluda Atte Neeruu!!! :)
Responder Con Cita
  #12  
Antiguo 27-06-2014
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.278
Poder: 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
No es obligatoria, por eso se puede desactivar. Dependerá si la vas a utilizar o no.
Si en algún momento te hace falta siempre puedes volver a compilar activándola.
__________________
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
  #13  
Antiguo 28-06-2014
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
Por ejemplo, cuando la podría necesitar? que es lo que uno puede hacer que necesite la info de RTTI? Pregunto esto para saber si yo la estoy usando y no estoy enterado...

Saludos...
__________________
Saluda Atte Neeruu!!! :)
Responder Con Cita
  #14  
Antiguo 28-06-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
Neeruu,

Cita:
Empezado por Neeruu
...¿que es lo que uno puede hacer que necesite la info de RTTI?...
Revisa esta información:
Espero sea útil

Nelson.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Reducir tamaño de un ejecutable mrmanuel Varios 12 23-08-2013 02:35:30
DevExpress y tamaño del ejecutable cmfab Varios 2 16-10-2012 19:18:14
como achicar el tamaño de mi Ejecutable Patricio Varios 2 22-11-2005 13:48:45
Tamaño del Ejecutable muy grande Fralva Varios 4 08-06-2005 17:22:51
Disminuir el tamaño de un ejecutable tannyk Varios 6 18-05-2005 06:23:41


La franja horaria es GMT +2. Ahora son las 05:20:58.


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
Copyright 1996-2007 Club Delphi