« Execute (TitTask) » : différence entre les versions
(Page créée avec « <source lang='delphi'>function Execute(var aReason:string):boolean;</source> <source lang='delphi'>function Execute(var aReason:string):Integer;</source> <source lang='del... ») |
Aucun résumé des modifications |
||
| Ligne 16 : | Ligne 16 : | ||
|Le résultat de la tâche | |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 : | Exemple : | ||
Version du 18 janvier 2017 à 14:00
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
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