Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   controlar tamaño del programa en ejecución (https://www.clubdelphi.com/foros/showthread.php?t=83585)

odiseeus 03-07-2013 20:52:15

controlar tamaño del programa en ejecución
 
Buen día a todos!

mi duda es la siguiente:

tengo un programa que genera muchas imágenes con ciertos datos para que después esas imágenes sean impresas en stickers de identificación de documentos, hasta ahí todo bien.

mi programa se compone de dos partes en el código:
1. una donde genera la cantidad solicitada de imágenes de Códigos QR en una carpeta especifica, pues lo hace con ayuda de un programa libre de generación de códigos QR, a lo cual le paso por parámetros la info y él los genera.

después de tener las imágenes con el solo QR generadas, mi programa las toma en orden y genera otras imágenes las cuales son las que tienen tamaños e info requerida para la impresión.

hasta aquí todo bien!

El problema surge cuando se deben hacer por ejemplo 1000 stickers consecutivos, mi programa (ejecutable) crece con cada proceso de imagen asi ya haya liberado las imágenes, a lo cual lleva a que crezca a mas de 1.5 GB (solo en el primer paso) y cuando va a realizar el segundo dice que memoria insuficiente, teniendo en cuenta que se pueden varias veces realizar entre 2000 y 3000 stickers... como hago para hacer que el programa no crezca tanto... y a medida que genera una imagen no colapse.

Gracias por sus opiniones y colaboración.

Casimiro Notevi 03-07-2013 21:22:48

Como no pongas el código fuente :confused:

AzidRain 04-07-2013 03:47:38

Memory Leak sin revisar? Delphi no tiene garbage collector (recolector de basura, para que no se enoje Al Gonzalez) por lo que no libera la memoria utilizada al crear objetos a menos que se lo indiques. Todo apunta a que estás creando n imagenes y no estas liberando la memoria cada vez...pero como dice Casimiro..sin código, pues...

Lepe 04-07-2013 13:20:05

Yo le llamo fugas de memoria cuando algo se queda sin liberar por error, pero si hablamos de 1.5 GB, creo se trata de un error de diseño de la aplicación, o error de concepto. Me refiero a que, revisando el código, no vas a encontrar la línea causante del error. Tienes que revisar la metodología que has seguido, que probablemente sea errónea.

Lo dicho, postea el código de cuando creas esas imágenes y cuando las destruyes. y si las imágenes están contenidas en una ventana, dinos cuando se crea esa ventana y cuando se destruye.

Saludos


La franja horaria es GMT +2. Ahora son las 16:02:07.

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