GetFirst (TStereotypeClassQueue)

De Wiki1000
Révision datée du 16 avril 2013 à 14:12 par Syfre (discussion | contributions) (Page créée avec « <source lang='delphi'>class function GetFirst(const iTopic:string):TQueueObject;</source> Cette fonction retourne le premier objet prêt de la file d'attente sans le cons... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

<source lang='delphi'>class function GetFirst(const iTopic:string):TQueueObject;</source>

Cette fonction retourne le premier objet prêt de la file d'attente sans le consommer.

Result Le premier objet non consommée de la file pour le sujet.
iTopic Nom de sujet demandé.
Tip : Cette fonction est utile pour consommer les objets par une boucle First/Next sans être bloqué par un message "poison"

Exemple :

<source lang='delphi'>

//Procedure TestInQueue; var sel:TSelector; obj,todo:MyQueue; inst:WFClasseA; S,stag:string; begin

 sel := WFClasseA.CreateSelector('unEntier>%1',,true,[10]);
 sel.InQueue('MyQueue','wfclassea/@oid');
 S := ; stag := ;
 obj := MyQueue.GetFirst();
 Repeat
   if Assigned(obj) then
    begin
      todo := MyQueue.deQueue(obj.queueTopic);
      if Assigned(todo) then
        begin
          inst := todo.queueRef as WFClasseA;
          if Assigned(inst) then
            try
              // check requeue
              if inst.unEntier=21 then raise Exception.Create('check error');
              //
              S := S+stag+inst.unCode;
              stag := ',';
              // Check to test requeue
              // delete this queue object
              todo.DeleteThisObject;
            except
            // on error requeue the object with the same topic
            todo.ReQueue();
            end;
        end;
    end;
   //
   obj := MyQueue.GetNext(,obj);
 Until not Assigned(obj);
 showMessage(S);

end; </source>

Voir aussi

{{#if:Classe_file_d'attente_(stereotype)|

{{#if:Classe_file_d'attente_(stereotype)|— Classe_file_d'attente_(stereotype) |}} — Développement DSM

|

{{#if:|— [[{{{1}}}]] |}} — Développement DSM

}}