Mas é o endereço que sabe a quem ele pertence!!! Ex.:
Type Endereco = Class(TObject) Private FCodigo : Integer; FLogradouro : String; FNumero : String; FComplemento : String; FBairro : String FCEP : String; FCidade : TCidade; Protected ... Public Constructor Create; Property Codigo : Integer Read FCodigo; Property Logradouro : String Read FLogradouro Write FLogradouro; Property Numero : String Read FNumero Write FNumero; Property Complemento : String Read FComplemento Write FComplemento; Property Bairro : String Read FBairro Write FBairro; Property CEP : String Read FCEP Write FCEP; Property Cidade : TCidade Read FCidade Write FCidade; Class Function ListaEnderecos(oPessoa: TPessoa): TList; End; Implementation Uses SeuDataModule; ... Class Function TEndereco.ListarEnderecos(oPessoa: TPessoa): TList; Var lstEnderecos : TList; oEndereco : TEndereco; Begin lstEnderecos := TList.Create; SeuDataModule.ListarEnderecos(oPessoa); With SeuDataModule.SeuClientDataSet do Begin Try If RecordCount > 0 Then Begin First; While Not EOF do Begin oEndereco := TEndereco.Create; oEndereco.Codigo := FieldByName('cod_vale' ).AsInteger; oEndereco.Logradouro := FieldByName('logradouro' ).AsInteger; oEndereco.Numero := FieldByName('numero' ).AsInteger; oEndereco.Complemento:= FieldByName('complemento').AsInteger; oEndereco.Bairro := FieldByName('bairro' ).AsDateTime; oEndereco.CEP := FieldByName('cep' ).AsCurrency; oEndereco.Cidade.Buscar(FieldByName('cidade' ).AsInteger); lstEnderecos.Add(oEndereco); Next; End; End; Except on E: Exception do ShowMessage(E.Message); End; End; Result := lstEnderecos; End; { <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> } Se isso não ajudar, dê exemplo reais do que você pretende para que eu possa criar os exemplos de acordo com eles. Sds, Romario Francisco Trindade escreveu: > Nesse caso sim, segunido o seu exemplo, o que eu queria era q o endereco > pudesse saber a que pessoa ele pertence. > Do jeito que tu faz, é possivel, pois os enderecos estao em uma lista > generica, mas o que pode acontecer é a associacao de uma classe q nao é do > tipo endereco com a lista de enderecos, o que eu queria evitar. > Sds, > Francisco > > On 11/11/05, Romario (Listas) <[EMAIL PROTECTED]> wrote: > >>Eu coloquei a relação de herança, mas também a relação de ASSOCIAÇÃO com >>a classe de Endereços para demonstrar o que você precisa. >> >>Note que uma pessoa pode ter um ou vários endereços e esses endereços >>estarão armazenados em um lista dentro da classe Pessoa. >> >>Não é isso que você precisa??? >> >>Sds, >> >>Romario >> >> >> >> >>Francisco Trindade escreveu: >> >>>Nao sei se estamos nos entendedo. >>>O codigo enviado por ti implementa uma relacao de heranca, o que é >>>diferente. >>>TPessoaFisica descende de TPessoa. >>>Eu estou falando de uma relacao 1 para N, entre objetos de classes >>>diferentes, como TGrupoDeItens contem N TItens. >>>Type >>>TGrupoDeItens = Class(TObject) >>>Private >>>FNome >>>LstItens : TObjectList; >>>Protected >>>... >>>Public >>>Constructor Create; >>>Property Nome : String Read FNome Write FNome; >>>Property Itens : TObjectList Read LstItens Write LstItens; >>> >>>End; >>>//--- >>>uses uGrupo; >>>Type >>>TItem = Class(TObject) >>>Private >>>FNome : String; >>>FGrupo : TGrupoDeItens >>>Protected >>>... >>>Public >>>Constructor Create; >>>Property Nome : String Read FNome Write FNome; >>>Property Grupo: String Read FGrupo Write FGrupo; >>> >>>End; >>> >>>Esse é o codigo que eu tinha imaginado. O problema é o uso de >> >>TObjectList, >> >>>pois terei que fazer um typecast na associacao, o que pode levar a >> >>erros. >> >>>Outra solucao seria eu criar um tipo >>>TArrayItens = Array of TItem >>>porem isso me levaria a precisar da classe TItem na interface do grupo, >> >>o >> >>>que seria uma referencia circular. >>>Era isso, fico no aguardo de sugestoes. >>>Sds, >>>Francisco _______________________________________________________ Yahoo! Acesso Grátis: Internet rápida e grátis. Instale o discador agora! http://br.acesso.yahoo.com/ -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> <*> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages <*> Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html