PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum RTTI para mapeamento de propriedades... #23773

09/03/2010

0

Galera é os seguinte, eu tava lendo essa mateira da ClubDelphi 113 falando sobre RTTI, Generics e Attributes e resolvi fazer o passo-a-passo que estava na revista... quando me deparei com uma duvida que não consegui resolver... vamos lá!!!!   o codigo é esse:   procedure TForm1.Button1Click(Sender: TObject);
var
  contexto: TRttiContext;
  tipo: TRttiType;
  metodo: TRttiProperty;
begin
  Memo1.Clear;
  contexto := TRttiContext.Create;
  try
    tipo := contexto.GetType(TPessoa.ClassInfo);
    for metodo in tipo.GetProperties do
      Memo1.Lines.Add('Propriedades: ' + metodo.GetValue(TPessoa.Create).ToString);
  finally
    contexto.Free;
  end;
end;   -----------------------------------------------   tenho uma classe TPessoa que tem 3 propriedades -  Codigo: integer, Nome: string e Endereco: TEndereco; tenho tbm a classe TEndereco que so tem 1a propriedade -  Rua: string;   No contrutor da classe TPessoa eu crio a classe TEndereco, passo um valor para a propriedade Rua e depois passo  um valor para o codigo e para o nome de TPessoa... ate ai tudo ok!!! Compila tudo direitinho, mas quando meu codigo faz o loop os valores retornados em um memo são:   Propriedades: 123 -- Codigo da pessoa
Propriedades: Pessoa -- Nome da pessoa
Propriedades: (TEndereco @ 008D0F00) e aqui ta a bronca.... como faço para varre uma propriedade do tipo Objeto? no caso retornando o valor colocado na propriedade 'Rua' de TEndereco? Se em vez de um Endereco minha aplicação fosse ler um TList? como eu entraria nele?   Se alguem va tiver feito algo parecido, manda uma resposta ou um modo de como fazer!! Agradeço a todos e Boa noite!!    
Filipe Carvalho

Filipe Carvalho

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar