Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-12-2010
Bauhaus1975 Bauhaus1975 is offline
Miembro
 
Registrado: may 2005
Ubicación: Málaga
Posts: 135
Poder: 19
Bauhaus1975 Va por buen camino
Thumbs down Problema liberando memoria: punteros y matrices

Muy buenas de nuevo.

Resulta que tengo una sección de código que me está dando quebraderos de cabeza pues al ejecutarse me da un 'out of memory'.

Voy a poner de manera resumida el código que afecta. Se trata de un proceso que para realizar cálculos estadísticos genera varios millones de elementos, y ordena. Esto de manera reiterada, el problema es que en cada iteración, seguramente, no sé liberar bien la memoria.

Este es el código en cuestión:

Código Delphi [-]
var
listaPunteros : puntero of TRegistro;
listaArray : array of TRegistro;
begin
for i:=o to n do
    SetLength(listaArray,0);
    Dispose(listaPunteros);
    listaPunteros := nil;
    listaPunteros := generaLista(); // 10 millones de elementos aprox. son devueltos
    ordenarLista_QuickSort(listaPunteros);
    // Aqui pasamos al array que nos sirve luego para otras partes del proyecto.
    listaArray:= lista2Array(listaPunteros);
{
[..] A partir de aqui se hacen unos cálculos (en listaArray) para evaluar unos valores estadisticos,
 y vuelta a empezar en el bucle principal.
>> Al realizar 5 iteraciones ya está el sistema 'petado'
}
end;
Bien, el por qué de hacerlo así con punteros de manera intermedia, es porque los tiempos de ejecución de este proceso en particular son muy diferentes a trabajar unicamente con arrays.

¿Podéis echarme una mano?
Gracias y un saludo.

Última edición por rgstuamigo fecha: 22-12-2010 a las 23:13:53. Razón: Estética en el código
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema con punteros waremovil C++ Builder 2 18-08-2007 18:47:19
Liberación de memoria de punteros Data de un Tree. afxe Varios 5 20-06-2007 17:12:34
Memoria virtual para grandes matrices JF Sebastian OOP 2 30-01-2007 20:11:41
Problema con matrices que no logro resolver galmacland Varios 11 20-06-2006 19:03:45
sobre punteros... y memoria ¿Como perder su valor, sin hacerlo? Delphius Varios 8 19-04-2006 10:55:06


La franja horaria es GMT +2. Ahora son las 03:52:56.


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