Se voce for utilizar uma Tlist pode fazer como no seguinte. Eu uso a tática seguinte apresentata em alguns projetos e não tive problemas.
Se voce achar mas comodo voce pode tb implementar esta lista de itens de classe utilizando um TCollection, CollectionItem; de uma procurada no google que voce vai achar um site que mostra como fazer isto (eu não lembro/tenho o link...) TPessoa = class(TObject) private FNome : String; public property Nome : String read FNome set FNome end; TPessoaList = class(TObject) private FListPessoa : TList; public procedure Add( Item : TPessoa); procedure Del( Item : Tpessoa); function Locate( Item : Tpessoa) : Tpessoa; end; Procedure TPessoaList.Add( Item : TPessoa); begin if Assigned(Item) then FListPessoa.Add(Item); end; Procedure TPessoaList.Del( Item : Tpessoa); Begin if Assigend(Item) then FListPessoa.Remove(Item); End; Proceudre TPessoaList.Locate( Item : Tpessoa) : Tpessoa; Var vCont : Integer; vItem : Tpessoa; Begin Result := nil; for vCont := 0 to FlistPessoa.Count -1 do begin vItem := Tpessoa( FListPessoa.Items[vCont]); if vItem = Item then begin Result := vItem; Break; end; End; End; Como voce pode ver eu omiti uma serie de procedimentos que seriam necesários...como no create da classe TPessoaList deveria criar a FListPessoa, no destroy, devo limpar e liberar a mêsma (free). Atenc; Elazar _______________________________________________________ Você quer respostas para suas perguntas? Ou você sabe muito e quer compartilhar seu conhecimento? Experimente o Yahoo! Respostas ! http://br.answers.yahoo.com/