Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 09-12-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No sé si el artículo "How to execute a method (procedure/function) by name", de Zarko Gajic podría servirte de algo. En todo caso copio a continuación el código para tenerlo disponible en caso necesario, puesto que me parece interesante además:

Código Delphi [-]
type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject) ;
    procedure CallMeByName(Sender: TObject) ;
  private
    procedure ExecMethod(OnObject: TObject; MethodName: string) ;
  end;

var
  Form1: TForm1;

type
  TExec = procedure of object;

procedure TForm1.ExecMethod(OnObject: TObject; MethodName: string) ;
var
  Routine: TMethod;
  Exec: TExec;
begin
  Routine.Data := Pointer(OnObject) ;
  Routine.Code := OnObject.MethodAddress(MethodName) ;
  if NOT Assigned(Routine.Code) then Exit;
  Exec := TExec(Routine) ;
  Exec;
end;

procedure TForm1.CallMeByName(Sender: TObject) ;
begin
  ShowMessage('Hello Delphi!') ;
end;

procedure TForm1.Button1Click(Sender: TObject) ;
begin
  ExecMethod(Form1, 'CallMeByName') ;
end;
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 15:47:20.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi