Cita:
|
Empezado por patorecalde
Muchas gracias a quienes respondieron y han leido este hilo, todo marcha ok, el tema ahora es que si levanto 50 datos de una BD mediante un query debo declarar 50 variables y luego insertarlas a la lista o debo hacerlo por medio de un constructor, creo que lo ultimo es mas logico pero no le encuentro la vuelta, que puedo codificar?
Saludos y gracias por el tiempo,
|
no , no has de declarar 50 variables eso es una barbaridad, ya que para eso esta la lista , para guardar una lista de punteros a los objetos creados
tan solo tendrias que recorrer el dataset de la forma
Código Delphi
[-]
var
Persona: TPersona;
begin
While (not query1.eof ) do begin
Persona:= TPersona.Create; Persona.Nombre:= query1.fieldbyname('nombre').value; Persona.DNI:=query1.fieldbyname('Dni').value; ListaPersonas.AddObject(Persona.Nombre,Persona); Query1.next;End;
Cuando dejes de usar la lista, tendrias que liberar la memoria , ya que estas creando objetos en tiempo dinámico , esto se hace recorriendo la lista y llamando al destructor del objeto.
Código Delphi
[-]
Var
Persona:Tpersona
Begin
while ListaPersonas.count<>0 do begin
Persona:=ListaPersonas.objects[0];
Persona.free;
ListaPersonas.delete(0);
End;
Salu2