Fórum Saber se o método existe para um objeto! #260998

02/12/2004

0

Bom Pessoal,

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

Valew!!


Cicerojr

Cicerojr

Responder

Posts

02/12/2004

Cicerojr

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!!


Responder

Gostei + 0

02/12/2004

Marcelo Saviski

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


Responder

Gostei + 0

03/12/2004

Cicerojr

Para passar o método como parâmetro?


Responder

Gostei + 0

03/12/2004

Marcelo Saviski

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


Responder

Gostei + 0

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

Aceitar