Saber se o método existe para um objeto!
Bom Pessoal,
Estou precisando testar se um método existe para um objeto qualquer??
Valew!!
Estou precisando testar se um método existe para um objeto qualquer??
Valew!!
Cicerojr
Curtidas 0
Respostas
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!!
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
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
02/12/2004
Para passar o método como parâmetro?
GOSTEI 0
Marcelo Saviski
02/12/2004
sim, mas ai vc teria que sabe o tipo dele para depois chamar, por exemplo
de mais detalhes do que que fazer que talvez de para arranjar uma solução melhor
(...) 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