GetFirst (TStereotypeClassQueue)

De Wiki1000
Version du 16 avril 2013 à 15:12 par Syfre (discuter | contributions)
(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
class function GetFirst(const iTopic:string):TQueueObject;

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-20px.png Tip : Cette fonction est utile pour consommer les objets par une boucle First/Next sans être bloqué par un message "poison"

Exemple :

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

Voir aussi

Classe_file_d'attente_(stereotype)Développement DSM

Outils personnels