Hola Paulao.
El puntero a método es similar a un puntero a función o procedimiento con la diferencia que el puntero a método almacena el objeto sobre el que se aplica y la dirección de memoria del código del procedimiento o función asociado.
Un puntero a función o procedimiento es declarado:
Código Delphi
[-]
type
TFunciónPtr = procedure(Value: Integer);
Un puntero a método se declara:
Código Delphi
[-]
type
TNotifyEvent = procedure(Sender: TObject) of object;
Un ejemplo del uso de puntero a método:
Código Delphi
[-]
...
procedure TForm1.Edit1Click(Sender: TObject);
begin
ShowMessage('Edit1Click');
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Metodo: TMethod;
Event: TNotifyEvent;
begin
Metodo.Data:= Self; Metodo.Code:= MethodAddress('Edit1Click'); Event:= TNotifyEvent(Metodo);
Event(Sender);
end;
...
Un saludo.