![]() |
mi programa ha crecido demasiado en tamaño MB
hola disculpen mi programa ha crecido el ejecutable demasiado pesa casi 20MB claro que tambien estoy usando componentes de devexpress...
algo que me recomienden para que el programa tenga menos peso ?.. DLLs ? gracias |
Hola
Si esta grande, habría que ver cuantos forms tiene. Mi programa, que es a mi parecer grande no llega a 10MB. Tal vez tengan algo que ver los componentes dbexpress. Saludos |
si tiene 18 forms.. algo podria hacer para reducir el tamaño ?...
|
Hola
18 forms y pesa eso ?, algo debe esta mal, me imagino. Mi programa tiene mas de 100 forms y reportes y pesa menos de la mitad. Saludos |
Algunas cosas que se me ocurren:
1) Los DebExpress. Nunca los he usado así que no sé, pero no creo. 2) Estés usando las versiones de debug de las unidades. En las opciones de proyecto ver si tenés "Use debug DCUs" habilitado y deshabilitarlo. 3) Hacer un análisis de las unidades que tenés en las uses de las diferentes unidades. Eso lo podés hacer con una herramienta como Icarus, que te muestra lo que tenés agregado y si lo estás usando o no. |
Cita:
Cita:
Cita:
Además de lo comentado, ¿qué tipo de imágenes integraste a tu aplicación? Dependiendo del tamaño de los gráficos, de su formato (BMP, JPEG, etc.) y de la eficiencia al reutilizarlos (duplicidad en dos o más formularios), el tamaño de la aplicación puede variar considerablemente. |
Yo creo que debes estar utilizando imágenes (muchas) para cada boton, fondo de formulario y alguna otra cosa.
Creo que deberías utilizar un ImageList y reutilizar la imagen. Yo tengo un ImageList con muchas imágenes. La imagen de los botones "Salir" es siempre la misma, por lo que los botones solo apuntan a la imagen, en vez de guardarla cada vez. |
Voto por las imágenes, seguramente tiene varias y muy grandes. Además hay que tener en cuenta que aunque sean jpg, luego delphi "lo traduce" a bmp, por lo que siguen ocupando mucho. Hay que tener mucho cuidado y poner imágenes pequeñitas que ocupen lo menos posible, como si fuesen para la web :)
|
Hola Rofocale.
Además de las sugerencias que te han dado, creo que este enlace te puede resultar de utilidad: (Carga dinámica, carga estática y Packages en Runtime) Saludos. |
has mirado si por defecto te carga todos los posibles skins???
|
Off topic
Julio: Que gusto da verlo a usted nuevamente por aquí. :)
|
Un comentario:
Cita:
Además también es evidente que hacerlo es contraproducente, puesto que el conjunto necesita más espacio en disco y también en memoria (necesitan tablas, cosa innecesaria en el otro caso), salvo que se trate de bibliotecas y/o código reutilizable. De verdad que no lo entiendo.:confused: |
Cierta vez me encontré con un problema similar, el ejecutable era enorme, la solución fue, además de quitar bastantes imágenes e iconos, crear el ejecutable con las bpl externas, eso solucionó el problema.
|
Los componentes devexpress son los que agregan muchos megabytes al nuestros ejecutables a cambio de unas interfaces más atractivas visualmente, bueno llevo muchos años programando y me costó mucho quitarme de la cabeza la obsesión por los megas de los ejecutables, amigo mio para los equipos que poseemos desde hará unos 10 años el tamaño del ejecutable no importa... quizas la única vez que lo pensé, fue cuando tuve la necesidad de actualizar vía internet la aplicación, el caso era particular, varios usuarios, una velocidad de acceso a internet "pauperrima", etc... la solución... uso de packages.
Saludos. |
Cita:
Nota: lo mismo vale para las librerías de delphi (packages) |
si lo mismo vale para los BPL, pues mejor utilizar BPLs en lugar de DLLs...
El problema no son las imágenes, son los devexpress; y no tanto que sean un problema, sino que se están incluyendo dentro de tu ejecutable y al incluirlos, eso hace que tu ejecutable sea muy grande. Para que no tengas que volver a programar nada, simplemente compila tu proyecto con la opción "Build with runtime packages" y listo, tu ejecutable se reducirá de tamaño, eso sí, tendrías que distribuir tu ejecutable junto con los bpl de las bibliotecas (¿o eran librerías?, !diantres¡) que estes utilizando, en este caso, los de devexpress. Build with runtime packages Dynamically links the runtime packages in your project and enables the runtime packages edit box. |
Un "truco" para reducir el tamaño de los ejecutables puede ser comprimirlos con la utilidad UPX. La ganancia de tamaño que se logra puede ser más que interesante.
http://upx.sourceforge.net Muy recomendable. |
A ver, aquí tengo un proyecto que contiene alrededor de 70 formularios y varios módulos de datos. Todos los primeros utilizan componentes de Developer Express. No lo compilo con la opción "Build with runtime packages" porque me interesa tener todo en un sólo archivo ejecutable. Y el tamaño final de éste es de 6 MB.
A mí me parece bastante aceptable. Este .exe está compilado con Delphi 7 y, por supuesto, utilizo ampliamente herencia visual (no hay formulario que no derive de una plantilla y la gran mayoría de los formularios plantillas derivan de otra). Creo que Rofocale debería decirnos más acerca de cómo está estructurado su proyecto. 18 formularios son pocos para que una falta de herencia visual fuese el factor principal del problema. Tal vez se trata de la versión del compilador que está utilizando, alguna opción de éste, otras grandes bibliotecas (sí, así se dice) o recursos sin uso que se están incluyendo, o simplemente lo que comentábamos de los gráficos. Un megasaludo. Al González. :) |
Cita:
creo que por aquí viene todala bronca... |
Cita:
Lo aclaro porque 18 forms no deben ocupar casi nada. |
380 forms, aprox. 1 millón de líneas de programación, además de Stored procedures (que van en la base de datos) e infinidad de Datasets con sus sentencias SQL, pero utilizo muchas muchas ímagenes de iconos (.ICO) aunque al final suelo dejar en los ICO sólo aquellos tamaños que me interesa en cada caso ....
... y voy por 46 Megas de Ejecutable ! :o ... algún día me pondré a sacar y optimizar el uso de las imágenes .... ünico problema con ese tamaño .... cuando se trata de actualizar por internet ... :( |
Empezé con 15 módulos, ahora tengo 45 módulos y cada módulo tiene 2 o 3 forumularios. Cada vez se van agregando más módulos. El ejecutable mide 142 kb, cada módulo varía entre los 100kb a los 300kb. Actualizar por internet no es ningún problema. :D :cool:
|
Cita:
|
Tengo una aplicacion con 140 formularios, y solo pesa 4mb, creo que delphi administra muy bien el espacio y mas aun cuando trabajamos con pocos componentes de terceros y sin muchas imagenes e iconos como es mi caso, todavia me faltan incluir algunos 20 o 30 formularios mas para dar por acabado el aplicativo al 100% y no creo que supere los 6mb a final.
saludos, |
| La franja horaria es GMT +2. Ahora son las 17:07:59. |
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