Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Liberar Tlist de forma correcta (https://www.clubdelphi.com/foros/showthread.php?t=86990)

BDWONG 01-11-2014 04:34:54

Liberar Tlist de forma correcta
 
Buenas estaba mirando el tema de tanto listas enlazadas pero solo las queria utilizar solo con valores numericos, por el momento
vi algunos tutoriales en el cual delphi en sus nuevas versiones permiten el tema de genericos y esas cosas pero no me servian porque uso una version mas antigua.

Asi que cheque en hilos antiguos como crear y llenar una lista pero todos o eran de objetos(punteros) asi que encontre un tutorial el cual explicaba como llenarlo con solo valores enteros o decimales pero tenia un cierto cambio que al momento de liberar el puntero antes de la lista utilizaba freemem y no el clasico free, imagino porque estaba creando puntero de integer con new y no eran objetos como tal

Bueno me nos charla y le muestro el codigo que tengo y puedan ustedes evaluar si es correcto o no principalmente en el area de liberarlo

Código Delphi [-]
var
i,t:integer;
lista:Tlist;
num:PInteger;
begin
   lista:=Tlist.Create();
   for i := 1 to 10 do
   begin
      new(num);
      num^:=i;
      lista.Add(num);
   end;

   for I :=0 to lista.Count-1 do writeln(integer(lista.Items[i]^));

   for t :=lista.Count-1 downto 0 do freemem(lista.Items[t]);


   lista.Clear;
   lista.Free;
   readln;
end.

chicos por casualidad si tuvieran un tutorial de listas que me pasaran se los agradeceria saludos...

AgustinOrtu 01-11-2014 05:22:25

Buenas, no tengo delphi a mano para probar pero fijate activando esto:

Código Delphi [-]
// reporte de memory leaks al cerrar la app
ReportMemoryLeaksOnShutdown:= True;

cuando salgas de la aplicacion te muestra un cartel que te informa los memory leaks (fugas de memoria), si no sale nada es que estas liberando bien los punteros

BDWONG 01-11-2014 05:28:07

lo probe y anda genial parece que el programa no tiene fuga pero lo probe sin hacer liberacion y si lo detecto gracias saludos...

nlsgarcia 01-11-2014 17:28:46

BDWONG,

Cita:

Empezado por BDWONG
...estaba mirando el tema de tanto listas enlazadas...

:rolleyes:

Revisa esta información:
Espero sea útil :)

Nelson.


La franja horaria es GMT +2. Ahora son las 00:52:43.

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