Eu tentei, só que aí, não tem os parâmetros do Create!! O Self.Create eu simplesmente abandonei. Acabei criando um método que retorna a classe de resultado que é implementada nas classes descendentes, me dando o retorno do tipo específico, do meu TCollection... porém, ao adicionar um um item ao mesmo, no seu descendente específico, o mesmo está me retornando um erro de "Invalid property value", sendo que o método ADD funciona normalmente em outras situações!
Rubem Nascimento da Rocha <[EMAIL PROTECTED]> escreveu: Quando vc faz Self.Create, vc está criando uma nova instância e atribuindo para o Self, dando um efeito de reinicialização da mesma, e ainda acarretando um provável memory leak. A título de sugestão, experimentou chamar Self.ClassType.Create ao invés de Self.Create? Sds. ________________________________ To: delphi-br@yahoogrupos.com.br From: [EMAIL PROTECTED] Date: Tue, 3 Jun 2008 10:56:05 -0300 Subject: Re: [delphi-br] Reflection Opa... Já avancei bastante na solução que eu precisava com o PPropInfo, porém, me deparei com um problema de herança ao criar uma classe ancestral para retornar o conteúdo do filtro de uma collection. O que acontece é que eu gostaria de criar uma nova instância do meu "self", porém, fazendo Self.Create simplesmente perco a instância atual. Com o ClassInfo, consigo as informações da classe, mas não consegui instanciar um novo objeto a partir delas. Alguém sabe como proceder?! Joao Morais escreveu: Valfrid-Ly Silva Couto wrote: > Amigos, > > Estou trabalhando com Delphi 7 e estou tentado criar um filtro num > descendente de TCollection. > > Como eu gostaria que esse filtro fosse genérico, tenho que usar Reflection > para saber qual a propriedade passada, apenas usando o nome. > > Achei, mesmo no histórico da lista, como fazer o reflection de métodos, > usando o TMethod, mas não achei nada de propriedades. > > Alguém sabe como fazer isso?! Trata-se de rtti, através desta sigla as suas pesquisas deverão trazer mais resultados. Há diversos métodos, depende do tipo de propriedade que você está usando. Veja, por exemplo, GetStrProp, unit TypInfo, que pega o valor de uma propriedade string. Nesta mesma unit tem a declaração de outras procedures e functions para outros tipos de dados. Joao Morais ------------------------------------ -- _________________________________________________________________ Conheça o Windows Live Spaces, a rede de relacionamentos do Messenger! http://www.amigosdomessenger.com.br/ ------------------------------------ -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> --------------------------------- Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! [As partes desta mensagem que não continham texto foram removidas]