« InvokeMethod (Instance) » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| (Une version intermédiaire par le même utilisateur non affichée) | |||
| Ligne 18 : | Ligne 18 : | ||
<source lang='delphi'> | <source lang='delphi'> | ||
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 TestInvokeMethod; | Procedure MyClass.TestInvokeMethod; | ||
begin | begin | ||
InvokeMethod('InvokeMe',[ | Caption := 'coucou'; | ||
InvokeMethod('InvokeMe',[self,100,true]); | |||
end; | end; | ||
</source> | </source> | ||
Dernière version du 19 mars 2013 à 10: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