InQueue (TStereotypeClassQueue)
De Wiki1000
(Différences entre les versions)
m (Remplacement du texte — « http://frp.sage.fr/wiki1000/medias/images/stock/versionlatest-32x32.png » par « http://frp.sage.fr/wiki1000/medias/images/stock/version700-32x32.png ») |
|||
(3 révisions intermédiaires par un utilisateur sont masquées) | |||
Ligne 1 : | Ligne 1 : | ||
+ | {{Version700}} | ||
<source lang='delphi'>class function inQueue(const iTopic:string; const iSourceClassName:string; const iWhere:string; iDescendants:boolean; iArgs:Array of variant);</source> | <source lang='delphi'>class function inQueue(const iTopic:string; const iSourceClassName:string; const iWhere:string; iDescendants:boolean; iArgs:Array of variant);</source> | ||
Ligne 42 : | Ligne 43 : | ||
<source lang='delphi'> | <source lang='delphi'> | ||
//Procedure TestInQueue; | //Procedure TestInQueue; | ||
− | var | + | var obj:MyQueue; inst:WFClasseA; S,stag:string; |
begin | begin | ||
MyQueue.InQueue('wfclassea/@oid','WFClasseA','',true,[]); | MyQueue.InQueue('wfclassea/@oid','WFClasseA','',true,[]); | ||
+ | |||
+ | S := ''; stag := ''; | ||
+ | repeat | ||
+ | obj := MyQueue.deQueue('') as MyQueue; | ||
+ | if Assigned(obj) then | ||
+ | try | ||
+ | inst := obj.queueRef as WFClasseA; | ||
+ | if Assigned(inst) then | ||
+ | begin | ||
+ | S := S+stag+inst.unCode; | ||
+ | stag := ','; | ||
+ | end; | ||
+ | finally | ||
+ | obj.DeleteThisObject; | ||
+ | end; | ||
+ | until not Assigned(obj); | ||
+ | showMessage(S); | ||
end; | end; | ||
</source> | </source> | ||
Ligne 54 : | Ligne 72 : | ||
{{Footer|Classe_file_d'attente_(stereotype)}} | {{Footer|Classe_file_d'attente_(stereotype)}} | ||
[[Category:Stéréotype file d'attente]] | [[Category:Stéréotype file d'attente]] | ||
− | [[Category: | + | [[Category:Version700]] |
Version actuelle en date du 13 janvier 2015 à 11:42
class function inQueue(const iTopic:string; const iSourceClassName:string; const iWhere:string; iDescendants:boolean; iArgs:Array of variant);
Cette méthode insère les objets de la classe iSourceName sélectionnés par l'expression iWhere dans la file d'attente.
iTopic | Sujet des objets insérés |
iSourceClassName | Classe source des objets insérés |
iWhere | Expression objet sélectionnant les objets à insérer |
iDescendants | Insérer les objets descendants |
iArgs | Paramètres de l'expression |
Insérer un objet de la classe source dans la file d'attente consiste à créer un objet de la file d'attente en positionnant :
- queueState = 0 (Ready state)
- queueTopic = valeur du sujet pour l'objet source
- oidQueueRef = oid de l'objet source.
Seul les objets qui ne sont pas déjà présent (*) dans la file sont insérés, les objets déjà présent ont leur sujet mis à jour.
(*) : Il n'existe pas d'objet dans la file tel que oidQueueRef = oid de l'objet source
Sujet:
Le sujet des objets peut être paramétré par des attributs de la classe source, seul les attributs persistants sont autorisés et la valeur prise en compte est celle de la base de données.
Utilisez le préfixe @ pour désigner un paramètre.
Exemple :
//Procedure TestInQueue; var obj:MyQueue; inst:WFClasseA; S,stag:string; begin MyQueue.InQueue('wfclassea/@oid','WFClasseA','',true,[]); S := ''; stag := ''; repeat obj := MyQueue.deQueue('') as MyQueue; if Assigned(obj) then try inst := obj.queueRef as WFClasseA; if Assigned(inst) then begin S := S+stag+inst.unCode; stag := ','; end; finally obj.DeleteThisObject; end; until not Assigned(obj); showMessage(S); end;
Voir aussi :
Whos here now: Members 0 Guests 0 Bots & Crawlers 1 |