« Execute (TitTask) » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
(2 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 16 : | Ligne 16 : | ||
|Le résultat de la tâche | |Le résultat de la tâche | ||
|} | |} | ||
La valeur de retour de la tâche doit être : | |||
{{:TaskResult (Task)}} | |||
Lorsque cette tâche est déclenchée par un message, celui-ci peut être récupéré [[Contexte_de_tâche_(automate)|dans le contexte de la tâche.]] | Lorsque cette tâche est déclenchée par un message, celui-ci peut être récupéré [[Contexte_de_tâche_(automate)|dans le contexte de la tâche.]] | ||
Ligne 47 : | Ligne 52 : | ||
// Add parameters to the message | // Add parameters to the message | ||
// May be used in | // May be used in an other task triggered by this one | ||
// | // | ||
aMsg.AddParameter('Task1.uneChaine',uneChaine); | aMsg.AddParameter('Task1.uneChaine',uneChaine); | ||
Ligne 61 : | Ligne 66 : | ||
</source> | </source> | ||
Voir aussi | Voir aussi : | ||
*[[Contexte_de_tâche_(automate)|Contexte de tâche]] | |||
{{Footer|Classe_tâche_(stereotype)}} | {{Footer|Classe_tâche_(stereotype)}} | ||
[[Category:Stéréotype tâche]] | [[Category:Stéréotype tâche]] |
Dernière version du 3 avril 2019 à 08:55
<source lang='delphi'>function Execute(var aReason:string):boolean;</source> <source lang='delphi'>function Execute(var aReason:string):Integer;</source> <source lang='delphi'>function Execute:boolean;</source> <source lang='delphi'>function Execute:Integer;</source>
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 |
La valeur de retour de la tâche doit être :
Litéral | Numérique | Usage | Remarque |
---|---|---|---|
trOK | 0 | Succès | |
trInvalid | 1 | Invalide | La tâche n'a pas de méthode Execute() valide |
trFailed | 2 | Echec | |
trException | 3 | Exception | Une exception s'est produite durant l'exécution |
trRetry | 4 | Réessayer | |
trStarted | 5 | Démarrée |
Lorsque cette tâche est déclenchée par un message, celui-ci peut être récupéré dans le contexte de la tâche.
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 :
<source lang="delphi"> //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 an other 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; </source>
Voir aussi :
{{#if:Classe_tâche_(stereotype)|
{{#if:Classe_tâche_(stereotype)|— Classe_tâche_(stereotype) |}} — Développement DSM —
|
{{#if:|— [[{{{1}}}]] |}} — Développement DSM —
}}