Saber se o método existe para um objeto!

Delphi

02/12/2004

Bom Pessoal,

Estou precisando testar se um método existe para um objeto qualquer??

Valew!!


Cicerojr

Cicerojr

Curtidas 0

Respostas

Cicerojr

Cicerojr

02/12/2004

Para melhorar um pouco ...

Tem com eu passar um método e um objeto como parâmetro e depois conseguir executar .. se eh q eu me fiz entender!!


GOSTEI 0
Marcelo Saviski

Marcelo Saviski

02/12/2004

if Objeto.MethodAddress(´nome método´) <> nil then 
  //existe


o método deve estar declarado na seção published, ou ser um evento do formulário


GOSTEI 0
Cicerojr

Cicerojr

02/12/2004

Para passar o método como parâmetro?


GOSTEI 0
Marcelo Saviski

Marcelo Saviski

02/12/2004

sim, mas ai vc teria que sabe o tipo dele para depois chamar, por exemplo


(...)
published
  procedure AlgumaCoisa(Parametro: Tipo);
(...)


type
  TMinhaProc = procedure(Parametro: Tipo);


var
  Metodo: Pointer;
begin
  Metodo := TMinhaProc(Objeto.MethodAddress(´AlgumaCoisa´);
  if Assigned(Metodo) then
    TMinhaProc(metodo)(Parametro);
end;


de mais detalhes do que que fazer que talvez de para arranjar uma solução melhor


GOSTEI 0
POSTAR