« Execute (TitTask) » : différence entre les versions

De Wiki1000
Aucun résumé des modifications
Aucun résumé des modifications
 
(5 versions intermédiaires par le même utilisateur non affichées)
Ligne 17 : Ligne 17 :
|}
|}


Lorsque cette tâche est déclenchée par un message, celui-ci peut être récupéré dans le contexte utilisateur.
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.]]


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.
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.
Ligne 47 : Ligne 52 :


     // Add parameters to the message
     // Add parameters to the message
    // May be used in an other task triggered by this one
    //
     aMsg.AddParameter('Task1.uneChaine',uneChaine);
     aMsg.AddParameter('Task1.uneChaine',uneChaine);
     aMsg.AddParameter('Task1.unEntier',unEntier);
     aMsg.AddParameter('Task1.unEntier',unEntier);
Ligne 59 : 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

}}