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

De Wiki1000
(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

<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

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 :

<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
    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

}}