Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   TStringList en TObjectList (https://www.clubdelphi.com/foros/showthread.php?t=6716)

esquerda21 20-01-2004 09:26:59

TStringList en TObjectList
 
Buenas.
Utilizando una variable del tipo TStringList boy haciendo un ADD y lo boy rellenando.
Una vez rellenado con x veces te lo asigno a un TObjectList de tal forma:

var
temp: TStringLIst
master: TObjectList
i: integer

for i:= 0 to 5 do
temp.add(i)
master.add(temp)
temp.clear

En este ejemplo temp lo utilizo para cargar una serie de datos y luego se los asigno a master.
El problema biene cuando hago :

listBox1.items.add(TStringList(master[0]).estring[0]);

Pues que al borrar el temp borro tambien la referencia del master.

Solucion:
Como puedo hacer q temp cada vez que lo utilize sea un nuevo objeto, de tal forma que la rutina del for do ,yo la boy a utilizar varias veces y con diferntes datos y esos floque de datos se iran almacenando en el TObject.
No seria algo como temo.newInstance o new(temp)
Espero q me haya explicado bien.

Gracias de nuevo foreros.

marto 20-01-2004 09:38:41

Vamos a ver...

En tu código, temp, es una referencia a TStringList, no un TStringList. Para que la referencia a punte a un nuevo objeto, tienes que asignarle una instancia, por ejemplo, con su costructor:

Temp := TStringList.Create;

Por el mismo motivo, tienes que instanciar master, si no quieres que te de un Access Violation en ejecución.


La franja horaria es GMT +2. Ahora son las 20:21:55.

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