InvokeMethod (Instance)

De Wiki1000
(Différences entre les versions)
 
Ligne 18 : Ligne 18 :
 
<source lang='delphi'>
 
<source lang='delphi'>
  
procedure MyClass.InvokeMe(p1:string; p2:Integer; p3:Boolean);
+
Procedure MyClass.InvokeMe(p1:TitObject; p2:Integer; p3:Boolean);
 
begin
 
begin
   if p3 then ShowMessage(Format('%s %d',[p1,p2])) else ShowMessage('false');
+
   if p3 then ShowMessage(Format('%s %d',[p1.Caption,p2])) else ShowMessage('false');
 
end;
 
end;
  
 
Procedure MyClass.TestInvokeMethod;
 
Procedure MyClass.TestInvokeMethod;
 
begin
 
begin
   InvokeMethod('InvokeMe',['coucou',100,true]);
+
  Caption := 'coucou';
 +
   InvokeMethod('InvokeMe',[self,100,true]);
 
end;
 
end;
 
</source>
 
</source>

Version actuelle en date du 19 mars 2013 à 11:28

function InvokeMethod(const iMethodName:string; iArgs:Variants):Variant;

Cette fonction permet d'exécuter dynamiquement une méthode de l'objet.

Result La valeur de résultat de la méthode.
iMethodName Le nom de la méthode a exécuter
iArgs Un tableau de variant contenant les paramètres de la méthode.

Exemple

Procedure MyClass.InvokeMe(p1:TitObject; p2:Integer; p3:Boolean);
begin
  if p3 then ShowMessage(Format('%s %d',[p1.Caption,p2])) else ShowMessage('false');
end;
 
Procedure MyClass.TestInvokeMethod;
begin
  Caption := 'coucou';
  InvokeMethod('InvokeMe',[self,100,true]);
end;

Voir aussi


Objets métiers (tech)Développement DSM

Outils personnels