Fórum MethodAddress - descobrir se método existe #381431
14/07/2010
0
var
routine : TMethod ;
Begin //routine.data:=pointer(edit1) ;
//routine.Code:=edit1.MethodAddress('setfocus') ; // nome do metodo // usando como acima, esta retornando NIL
routine.data:=pointer(form2) ;
routine.Code:=Form2.MethodAddress('teste') ; // nome do metodo
if routine.Code <> nil then
begin
ShowMessage('OK');
end; end;
Grato
Eric
Curtir tópico
+ 0Posts
14/07/2010
Marco Salles
Gostei + 0
14/07/2010
Eric
Gostei + 0
14/07/2010
Marco Salles
procedure TForm3.Button2Click(Sender: TObject);
var
// uses RTTI Delphi 2010
Ct:TRttiContext;
Tipo:TRttiType;
Met:TRttiMethod;
begin
Tipo:=CT.GetType(form3.ClassType);
for Met in Tipo.GetMethods do
if Met.Name = 'Edit1Exit' then // Por exemplo testando se tem Evento OnExit do Edit
Showmessage('tem');
end;
Gostei + 0
14/07/2010
Eric
Gostei + 0
14/07/2010
Marco Salles
Gostei + 0
15/07/2010
Pedro Saraiva.
deem uma olhadinha ai no produto
http://produto.mercadolivre.com.br/MLB-149256966-winphar-2008-sistema-para-farmacias-e-drogarias-_JM
e ente em contato pelo e-mail pedroluissaraiva@yahoo.com.br.!
Gostei + 0
05/03/2018
Henrique Marti
Segundo a documentação (http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.TObject.MethodAddress) o método deve ser PUBLISHED para que o "MethodAddress" funcione.
Note: You can use MethodAddress for published methods only.
Testei no pré histórico DELPHI 7 e funcionou (a pesar da documentação que linkei ser no Delphi Tokyo)
Boa sorte aos aventureiros como eu!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)