FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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. |
#2
|
||||
|
||||
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.
__________________
E pur si muove |
|
|
|