Listar funções de um objeto

Top  Previous  Next

Hmm, não sei se é o que vc quer, mas dá pra usar um TStringList e armazenar os endereços de todos os métodos que vc quiser na lista Objects (POG?).

No string de cada item vc pode colocar o nome da classe e essa informaçào será usada na hora de invocar cada método.

 

Por exemplo:

 

type

 TMetodo1 = procedure;

 TMetodo2 = procedure(const Valor: integer);

 

...

 

Aí, vc tem os métodos

 

procedure Teste;

...

 

procedure Teste2(const Valor: integer);

 

...

 

// Preenchendo a lista

 

StringList.AddObject('TMetodo1',TObject(@Teste));

StringList.AddObject('TMetodo2',TObject(@Teste2));

 

...

 

Executando

 

if StringList[ n ]='TMetodo1' then

 TMetodo1(StringList.Objects[n])

else if StringList[ n ]='TMetodo2' then

 TMetodo2(StringList.Objects[n])(10);///

 

Nem testei, mas acho que deve funcionar.