Invoke (selector)
De Wiki1000
(Différences entre les versions)
(Une révision intermédiaire par un utilisateur est masquée) | |||
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'> | <source lang='delphi'> | ||
Ligne 61 : | Ligne 44 : | ||
end; | end; | ||
</source> | </source> | ||
+ | |||
+ | {{tip|Dans cet exemple la transaction est géré par la sélection.}} | ||
+ | |||
+ | <source lang='delphi'> | ||
+ | |||
+ | 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; | ||
+ | </source> | ||
+ | |||
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 :