Execute (TitTask)
De Wiki1000
Version du 18 janvier 2017 à 15:21 par Syfre (discuter | contributions)
function Execute(var aReason:string):boolean;
function Execute(var aReason:string):Integer;
function Execute:boolean;
function Execute:Integer;
Cette fonction doit être supportée par la classe tâche.
Différentes signatures sont supportées.
aReason | Une information sur l'erreur |
Result | Le résultat de la tâche |
Lorsque cette tâche est déclenchée par un message, celui-ci peut être récupéré dans le contexte utilisateur.
Il est possible d'ajouter des paramètres à ce message qui seront enregistrés dans l'événement correspondant au résultat de la tâche. Ce mécanisme permet de la passage de paramètres entre tâches.
Exemple :
//Function Execute(var aReason:string):boolean; var aMsg:TdbmQueueMessage; idx:Integer; S:string; begin // Add messages to the log ProgressMessage('HelloWorld'); ProgressMessage(Format('uneChaine:%s',[uneChaine])); if Assigned(UserContext.TaskContext) and Assigned(userContext.TaskContext.EventContext) then begin userContext.TaskContext.AddMessage('Task context'); // aMsg := userContext.TaskContext.EventContext.ReceivedMsg; if Assigned(aMsg) then begin userContext.TaskContext.AddMessage('Task context message'); for idx:=0 to aMsg.Count-1 do begin S := aMsg.DisplayStrings(idx); UserContext.TaskContext.AddMessage(S); end; end; // Add parameters to the message // May be used in a task triggered by this one // aMsg.AddParameter('Task1.uneChaine',uneChaine); aMsg.AddParameter('Task1.unEntier',unEntier); aMsg.AddParameter('Task1.uneDate',uneDate); aMsg.AddParameter('Task1.unMontant',unMontant.Value); end else ProgressMessage('no task context'); aReason := ''; Result := True; end;
Voir aussi