Liberar Memoria
Existe alguna forma en la que yo, en determinado momento pueda liberar memoria RAM? Es que estoy trabajando una aplicacion que copia archivos (bmp y jpg) en cantidades del orden de las 1000 imagenes. Y si son muchas, me tira error de "Division by Zero" y la maquina se me queda sin memoria.
Saludos |
|
Cita:
Saludos |
Tendrás que averiguar qué rutina es la que lanza la excepción y por qué ocurre.
En tools -> options -> debugguer activa la casilla "Notify on Language Exception". Ejecuta el programa y al lanzar la excepción el depurador de delphi se parará, irá al código que está provocando la excepción. Mira el Call Stack (View -> debug -> Call Stack) donde verás las últimas llamadas que se han producido, así sabrás las últimas rutinas que se han ejecutado y que han lanzado la excepción. Un buen punto para buscar, quizás sea donde se haga alguna división. Quizás si muestras el código que usas para crear los Frames y eliminarlos de memoria, podamos ver algún error. Saludos |
La excepcion que me tira es:
La rutina afectada, en la que se prucude el error es:
Los Tframes (Thumbsnails) son:
No se donde ni porque esta el error. Al cargar el Frame numero 230 siempre salta el error y tengo que crear 1 por cada foro, estoy probando con 356 fotos. Saludos |
Un detalle:
El bucle lo haces sobre la variable "Lista" (que supongo es un TStringList) y para recorrerlo usas la variable "g", pero dentro del bucle, accedes a un ListView1 con esa misma variable "g":
¿estan sincronizados Lista y ListView1? es decir, ¿ambos tienen el mismo número de elementos? La excepción que da ahora, EOutOfResources si es por falta de recursos y es totalmente distinto a la anterior. OFFTOPIC: Yo dejé de usar "LIberarMemoria", ya que producía efectos colaterales (errores de memoria varios), al dejar de usar esa rutina, se solucionaron los errores. Saludos |
Los elementos estan sicronizados de hecho, el ListView se carga de la misma lista. El liberar memoria, lo agregue depues como prueba, pero con o sin el pasa exactamente lo mismo. Y ambis tienen el mismo numero de elementos.
Saludos. |
La franja horaria es GMT +2. Ahora son las 05:32: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