Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 8 déc. 2005 à 11:32
Un Exemple simple qui devrai t'aider
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
// Your routines (that you'll run by name) must be here
procedure Hello_World(Sender: TObject);
private
procedure ExecuteRoutine(Instance: TObject; Name: string);
end;
var
Form1: TForm1;
type
TExecute = procedure of object;
implementation
{$R *.DFM}
procedure TForm1.ExecuteRoutine(Instance: TObject; Name: string);
var
Routine: TMethod;
Execute: TExecute;
begin
Routine.Data := Pointer(Instance);
// Returns the address of a published method.
Routine.Code := Instance.MethodAddress(Name);
if Routine.Code = nil then Exit;
Execute := TExecute(Routine);
Execute;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ExecuteRoutine(Form1, 'Hello_World');
end;
procedure TForm1.Hello_World(Sender: TObject);
begin
ShowMessage('This is a test');
end;
end.
Si tu cliques sur Button1 ça lance Hello_World voilà c'est tout
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 8 déc. 2005 à 20:54
Autre méthode décrite ici , pas plus compliquée et qui ne s'applique pas nécessairement à une "procedure of object" comme le souhaite CSweety13.
<hr color="#008000">Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.http://www.30millionsdamis.fr/FR/Popup/petition_2005/Petition.htm