GetFirst (TStereotypeClassQueue)
De Wiki1000
Version du 16 avril 2013 à 15:12 par Syfre (discuter | contributions)
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 : 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