Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-01-2004
esquerda21 esquerda21 is offline
Miembro
 
Registrado: may 2003
Posts: 51
Poder: 21
esquerda21 Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 20-01-2004
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Poder: 22
marto Va por buen camino
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
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 19:58:30.


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