Invoke (selector)
De Wiki1000
(Différences entre les versions)
(2 révisions intermédiaires par un utilisateur sont masquées) | |||
Ligne 12 : | Ligne 12 : | ||
|- | |- | ||
|iMethodName | |iMethodName | ||
− | |Méthode la classe du sélecteur | + | |Méthode de la classe du sélecteur |
|- | |- | ||
|iArgs | |iArgs | ||
Ligne 19 : | Ligne 19 : | ||
Exemple : | Exemple : | ||
+ | |||
+ | <source lang='delphi'> | ||
+ | |||
+ | Procedure WFClasseA.Populate(ls:TStringList); | ||
+ | begin | ||
+ | ls.Add(unCode); | ||
+ | end | ||
+ | |||
+ | procedure TestSelector.TestInvoke; | ||
+ | var sel:TSelector; S,SS:string; stag:string; ls:TStringList; | ||
+ | begin | ||
+ | sel := WFClasseA.CreateSelector('','',true,[]); | ||
+ | |||
+ | ls := TStringList.Create; | ||
+ | sel.Invoke(ocSelect, 'Populate', [ls]); | ||
+ | |||
+ | S := ''; stag := ''; | ||
+ | foreach SS in ls do | ||
+ | begin | ||
+ | S := S+stag+SS; | ||
+ | stag := ','; | ||
+ | end; | ||
+ | ShowMessage(S); | ||
+ | end; | ||
+ | </source> | ||
{{tip|Dans cet exemple la transaction est géré par la sélection.}} | {{tip|Dans cet exemple la transaction est géré par la sélection.}} | ||
Ligne 34 : | Ligne 59 : | ||
sel := WFClasseA.CreateSelector('','',true,[]); | sel := WFClasseA.CreateSelector('','',true,[]); | ||
sel.Invoke(ocManageTran, 'Increment', [10]); | sel.Invoke(ocManageTran, 'Increment', [10]); | ||
− | end;</source> | + | end; |
+ | </source> | ||
+ | |||
+ | |||
Voir aussi : | Voir aussi : |
Version actuelle en date du 1 avril 2014 à 10:49
function Invoke(iCursorMode:TCursorMode; const iMethodName:string; iArgs:Array of variant):Integer;
Cette fonction invoque la méthode iMethodName de la classe du sélecteur pour chaque objet de la sélection.
Result | Le nombre d'objet sur lesquels la méthode a été exécuté. |
iCursorMode | Le mode d'exécution du curseur. |
iMethodName | Méthode de la classe du sélecteur |
iArgs | Tableau des arguments à passer à la méthode |
Exemple :
Procedure WFClasseA.Populate(ls:TStringList); begin ls.Add(unCode); end procedure TestSelector.TestInvoke; var sel:TSelector; S,SS:string; stag:string; ls:TStringList; begin sel := WFClasseA.CreateSelector('','',true,[]); ls := TStringList.Create; sel.Invoke(ocSelect, 'Populate', [ls]); S := ''; stag := ''; foreach SS in ls do begin S := S+stag+SS; stag := ','; end; ShowMessage(S); end;
Procedure WFClasseA.Increment(aValue:Integer); begin unEntier := unEntier+aValue; end procedure TestSelector.TestInvoke; var sel:TSelector; begin sel := WFClasseA.CreateSelector('','',true,[]); sel.Invoke(ocManageTran, 'Increment', [10]); end;
Voir aussi :