Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Programa agota recursos!!! (https://www.clubdelphi.com/foros/showthread.php?t=45875)

atapia 17-07-2007 09:20:06

Programa agota recursos!!!
 
Hola a todos!!!tengo un problema:( ,lo que pasa es que tengo una aplicacion que genera reportes mediante un quickreport;recibe datos imprime el reporte y asi sucesivamente,el problema esta en q despues de un rato de seguir este proceso se agotan los recursos y hasta dar el pantallaso azul.

Habia kien decia q era por abrir un form durante cada impresion y no liberar memoria o cerrarlo,pero segun yo ya cheke pues a la form que se imprime le puse un :

procedure tform2.close()
action:=Cafree;

Espero alguien sepa q onda.Gracias de antemano :D .

dec 17-07-2007 09:42:57

Hola,

Lo único que se me ocurre es que crees un formulario y no lo cierres, por lo que su evento "OnClose" no se llegue a ejecutar, pero, en todo caso, ¿un pantallazo azul? Yo pensaba que eso ocurría en caso de fallos en algún "driver", o en algún dispositivo del ordenador (hardware), pero, nunca había oído hablar de pantallazos azules en estos casos...

De todos modos, creo que sería necesaria más información.

PD. Generalmente, uno puede crear bastantes formularios y no liberarlos y no se nota un consumo crítico de recursos.

Neftali [Germán.Estévez] 17-07-2007 10:00:35

Revisa componentes y objetos que no liberes correctamente.
Una opción es usar algun profiler, que te servirá para detertar pérdidas de memoria en tu programa.
Revisa y busca información por Internet.
Coincido con David en que el tema del pantallazo es difícil que sea por falta de memoria (no comenta qué versión del S.O. tienes). Veo más posible que tengas algun problema en la placa o incluso en la memoria física y que el problema con tu programa desencadene el problema real.

dec 17-07-2007 10:03:27

Hola,

Cita:

Empezado por Neftalí
Veo más posible que tengas algun problema en la placa o incluso en la memoria física y que el problema con tu programa desencadene el problema real.

Pues está bien visto. El software "fuerza" al hardware, este se resiente, y Windows se va a hacer puñetas. :)

atapia 17-07-2007 18:34:07

Agotan recursos.
 
Hola de nuevo,gracias por su ayuda.Pues si,tras un largo periodo de ejecucion del programa(horas)sale el pantallazo azul,el sistema operativo es win 98 y no se a que se refieran con lo del problema en la placa o en la memoria fisica.

Y una pregunta mas¿podrian decirme por q me marca error delphi cuando por un lado cierro la forma y por otro tengo.

procedure forma1.formclose
actin:=cafree;

Q diferencia hay entre cerrar una forma cuando no la uso en vez de solo ocultarla y entre destruirlas??

Neftali [Germán.Estévez] 18-07-2007 11:18:21

Cita:

Empezado por atapia
...y no se a que se refieran con lo del problema en la placa o en la memoria fisica.

Pues que hay algo mal en la placa Base del Ordenador o en los módulos de RAM. Es decir, que no es problema de Software, sino de Hardware, aunque es difícil de determinar (tal vez con un programa de Stress del Hardware).

Cita:

Empezado por atapia
Q diferencia hay entre cerrar una forma cuando no la uso en vez de solo ocultarla y entre destruirlas??

Al ocultarlo no se destruye, sólo se hace invisible, para mostrarla de nuevo no hace falta hacer un Create, sólo volver a hacer un Show. Si la destruyes, lo que haces els liberar la memoria y para mostrarla de nuevo deberás volver a hacer el Create.

Muchos errores de pérdida de memoria vienen por ocultar los formularios (sin destruirlos) y volver a crearlos para mostrarlos de nuevo (cuando sólo haríafalta un Show).

atapia 18-07-2007 17:40:23

Gracias
 
Ahh muchas gracias por su ayuda,ahora se por donde empezar para solucionar el problema.Saludos.:)

delphi.com.ar 18-07-2007 19:00:46

Yo te recomendaría analizar tu proyecto con alguna herramienta como MemProof, que te dirá objetivamente que recursos creas y no destruyes.

Saludos!


La franja horaria es GMT +2. Ahora son las 13:14:09.

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