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 08-11-2005
bataola bataola is offline
Miembro
 
Registrado: jun 2005
Posts: 22
Poder: 0
bataola Va por buen camino
Comprimir ejecutables - UPX - Similar.

Hola gente, buenas tardes.
Tengo un problema, resulta que en el laburo hay un programa en Delphi 5 que bajo Win 98 tenía problemas de memoria. Entonces sugerí UPX para solucionar el problema y durante tres meses resulto, pero ahora ya no funciona.
Quería saber si conocen algún otro comprimidor del estilo UPX, reconozco que no es la mejor solución, se intentando eliminar formularios en desuso para reducir el ejecutable pero necesito una solución ahora ya que el cliente no puede utilizar el programa.
Desde ya muchas gracias.
Saludos!!!
Responder Con Cita
  #2  
Antiguo 08-11-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Te sugiero que si es por problema del ejecutable, que extraigas las .bpl y así quedará el .exe de un tamaño mucho menor.

Deberás copiar las .bpl en el mismo directorio del .exe

Aparte de esto, puedes usar shrinker o neolite (creo recordar que son esos los nombres), pero no es la solución.
Responder Con Cita
  #3  
Antiguo 08-11-2005
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
Lo que suguiero es optimizar más el programa ..

Por que un compresor. comprime el tamaño
del ejecutable. Pero cada vez que se ejecuta.
ocupa espacio de la memoria.
y si lo ejecutar 5 a 10 veces, sin reiniciar.
tienen el programa 5 o 10 veces, en memoria.,
Claro. el windows. trata de vaciar la memoria que no esta en
uso. pero lo puede llegar ha hacer mal.
y se despercia la memoria.

Pero si no comprimes el ejecutable. aunque lo ejecutes.
más de una vez. sigues usando la misma copia de
el ejecutable. que esta en memoria.

revisa lo que dice este sitio
casi hasta abajo.

Why not use an EXE compressor?

http://www.jrsoftware.org/striprlc.php

Para el windows. deshabilita los programas que
se ejecutan al iniciarse windows.
que no sean indispensables. para windows. ni para
la seguridad. si hay antivirus dejalo activo.
asi no se cargan
y el windows se carga más rapido. y tiene más memoria
por que no carga programas al inicio.

haz
inicio -> ejecutar -> msconfig.

la ultima opcion. que es mejor,
que al equipo donde da problemas el programa,
le pongan más memoria.
hasta ayuda a mejorar la productividad.
no esperas tanto o ni esperas a que los programas
respondan.
Responder Con Cita
  #4  
Antiguo 09-11-2005
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.282
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 bataola
Quería saber si conocen algún otro comprimidor del estilo UPX
Hay muchos otros, pero UPX es de los que más comprime; Revisa éstos hilos:
http://www.clubdelphi.com/foros/show...22&postcount=2
http://www.clubdelphi.com/foros/show...16&postcount=3

De todas formas, coincido con lo dicho, creo que la mejor opción es que compiles con runtime packages (y eso no te debería costar mucho tiempo).
__________________
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
  #5  
Antiguo 09-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Pero, ¿seguro que el problema es el compresor?

Yo más bien me inclino a que sea el propio programa el que tiene los errores. Que el problema se solucionara por 3 meses no indica nada. Desde mi punto de vista, pasaron 3 meses sin cumplirse las condiciones que fuerzan el error.

Deberías decir que error concreto muestra, y mirar el código fuente asociado.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #6  
Antiguo 10-11-2005
bataola bataola is offline
Miembro
 
Registrado: jun 2005
Posts: 22
Poder: 0
bataola Va por buen camino
Ante todo muchas gracias por ayudarme, perdón que no respondí antes, es que ayer ni siquiera prendí la máquina... voy a intentar algunas de las cosas que me sugirieron.

Problema del programa no es, ya que el error que tira es algo asi como "Insuficiente memoria para ejecutar la aplicación".

Saludos para todos.
Responder Con Cita
  #7  
Antiguo 10-11-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por bataola
... Problema del programa no es, ya que el error que tira es algo asi como "Insuficiente memoria para ejecutar la aplicación"...
Precisamente por eso, puede ser problema del programa
Responder Con Cita
  #8  
Antiguo 10-11-2005
bataola bataola is offline
Miembro
 
Registrado: jun 2005
Posts: 22
Poder: 0
bataola Va por buen camino
... pero no se porque opinan eso, porque en realidad el error aparece al iniciarse el programa. Error del programa pero de que tipo?
Responder Con Cita
  #9  
Antiguo 10-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Del tipo más dificil compañero: Efectos colaterales.

Por ejemplo: Abres una tabla, y en el evento afterScroll de ese tabla, tienes código que crea una ventana, objeto o algo parecido. Si además tienes una consulta basada en esa tabla, y al inicio recorres esa consulta y mueves la tabla con Next o lócate, estarás creando un objeto por cada registro que tengas, ocupando más y más memoria.

Este caso es simple, puede que el tuyo sea mucho más complejo y que intervengan muchos parámetros (todos los eventos de las tablas, consultas y DBgrid que tengas asociados a esas tablas).

Sugiero que acotes el problema. Escribas en un fichero .txt cada vez que entres en una rutina por ejemplo: "Entrando en tabla clientes BeforeOpen", etc. De esa forma si ves que una llamada se repite 10.000 veces, por ahí tienes el problema.

Por allí donde uses código para crear objetos, es muy posible de que esté el fallo.

Ejecutar el programa paso a paso es casi imposible para este tipo de cosas.

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #10  
Antiguo 10-11-2005
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
a de ser por el programa.

yo he estado experimentando eso de memoria
insuficiente.

no se me bloquea el equipo. solo se traba un rato

Pero aparece. cuando creo una forma. con un mal metodo.
al iniciarse mi programa.

quite las lineas de codigo que crean esa forma.
y no hay aviso de falta de memoria.
Responder Con Cita
  #11  
Antiguo 11-11-2005
bataola bataola is offline
Miembro
 
Registrado: jun 2005
Posts: 22
Poder: 0
bataola Va por buen camino
bueno, voy a seguir tu consejo Lepe, espero tener suerte.
Gente, como siempre lo de ustedes majestuoso, gracias!!!!
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


La franja horaria es GMT +2. Ahora son las 11:24:02.


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