http://www.delphi3000.com/articles/article_3335.asp

Sds.


________________________________

To: delphi-br@yahoogrupos.com.br
From: [EMAIL PROTECTED]
Date: Wed, 28 May 2008 14:58:48 +0000
Subject: [delphi-br] Re: Executar método pelo nome


--- Em delphi-br@yahoogrupos.com.br, Joao Morais  escreveu
>
> Edmilson Pontes wrote:
>> - O que eu quiz dizer com questão da sobrecarga e porque o método
>> MethodAddress atende quando não tem método sobrecarregado.
>
> E quando houver método sobrecarregado ele vai retornar o endereço deste
> método. Por sinal, eu acho que nem precisa sobrecarregar o método, é
> capaz de funcionar com métodos estáticos também (sempre retornar o
> endereço do método mais especializado), tem que testar.
>
>> - O que você quiz dizer com "conhecer a sintaxe do método em tempo de
>> compilação"?
>
> Que se você tem:
>
> TMeuObj = class(TObject)
> procedure UmMetodo(const Arg1: string; Arg2: Integer);
> end;
>
> o compilador não vai guardar tais argumentos para você. Isto você só
> conseguiria com reflexão, que o Delphi win32 não tem. Para chamar este
> método você terá que declarar um tipo ponteiro para método com a mesma
> sintaxe:
>
> type
> TMeuMetodo = procedure(const Arg1: string; Arg2: Integer) of object;
>
> e fazer a chamada ao método atravéz de uma variável desse tipo.
>
> Joao Morais
>

Então a solução seria ponteiro para método?
Onde encontro exemplos de uso?

abraços,

Edmilson Pontes



_________________________________________________________________
Instale a Barra de Ferramentas com Desktop Search e ganhe EMOTICONS para o 
Messenger! É GRÁTIS!
http://www.msn.com.br/emoticonpack

Responder a