GARANTIR DESCONTO

Fórum Classes Descendentes #277095

13/04/2005

0

Olá, é sabido que a partir de uma classe é possível listar seus ancestrais. E o contrário, também é possível? Ou seja, a partir de uma classe listar as classes descendentes.

Grato,


Marioguedes

Marioguedes

Responder

Posts

13/04/2005

Massuda

...é sabido que a partir de uma classe é possível listar seus ancestrais.
Como é que se faz isso?


Responder

Gostei + 0

13/04/2005

Beppe

E o contrário, também é possível? Ou seja, a partir de uma classe listar as classes descendentes.

De maneira geral, não. Cada classe sabe o seu ancestral imediato(Classe.Parent), mas não conhece seus descendentes. O que pode fazer é guardar as classes em uma lista e percorrer ela com a pergunta Classe.InheritsFrom.


Responder

Gostei + 0

13/04/2005

Marioguedes

Massuda, a rotina que eu uso é assim:

procedure TForm1.Button1Click(Sender: TObject);
const
QUEBRA = #1310 + ´  |´ + 1310;
var
listagem : string;
classe   : TClass;
begin
  classe := TButton; //Coloque aqui a classe a ser listada
  while (classe <> TObject) do
    begin
    listagem := listagem + classe.ClassName + QUEBRA;
    classe   := classe.ClassParent;
    end;
  listagem := listagem + ´TObject´;
  ShowMessage(listagem);
end;



Responder

Gostei + 0

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

Aceitar