@GetQueue
Syntax
@GetQueue(QUEUEHANDLE);
@GetQueue(QUEUEHANDLE;FNOPTIONS;FNTIMEOUT);
Beschreibung
Holt die nächste Message der Message-Queue mit dem Queue-Handle VSPECQUEUEHANDLE QUEUEHANDLE.
Im Erfolgsfall wird die Message (TEXT) zurückgegeben, andernfalls @ERROR (nur ein Parameter Version, andernfalls "" (NULLSTRING)).
FN FNOPTIONS:
0 = Es wird nicht auf eine Message gewartet, wenn keine Message vorliegt wird "" (NULLSTRING) zurückgegeben.
1 = Es wird auf die nächste Message gewartet unter Berücksichtigung von FN FNTIMEOUT.
FN FNTIMEOUT:
0 = Warte bis eine Message vorliegt.
>0 = Wartezeit in Millisekunden, wenn dann noch keine Message vorliegt wird "" (NULLSTRING) zurückgegeben.
Wird @GetQueue ohne FN FNOPTIONS und FN FNTIMEOUT aufgerufen, wird nicht auf eine Message gewartet (FN FNOPTIONS=0).
Beispiel: @GetQueue(QUEUEHANDLE);
TEXTQUEUENAME:="QUEUE_NAME_1";
Ret:=@CreateQueue(TEXTQUEUENAME);
QUEUEHANDLE:=@OpenQueue(TEXTQUEUENAME);
TEXTMESSAGE:="Test Message";
FNPRIORITY:=1;
@PutQueue(QUEUEHANDLE;FNPRIORITY;TEXTMESSAGE);
Message:=@GetQueue(QUEUEHANDLE);
@LogReport(Message);
QUEUEHANDLE:=@CloseQueue(QUEUEHANDLE);
Es wird eine Message-Queue mit dem Namen "QUEUE_NAME_1" erzeugt und geöffnet.
Die Message "Test Message" wird in die Message-Queue gestellt.
Danach wird die Message wieder aus der Message-Queue geholt und im APILog ausgegeben.
Anschließend wird die Message-Queue wieder geschlossen.
Beispiel: @GetQueue(QUEUEHANDLE;FNOPTIONS;FNTIMEOUT);
TEXTQUEUENAME:="QUEUE_NAME_1";
Ret:=@CreateQueue(TEXTQUEUENAME);
QUEUEHANDLE:=@OpenQueue(TEXTQUEUENAME);
TEXTMESSAGE:="Test Message";
FNPRIORITY:=1;
@PutQueue(QUEUEHANDLE;FNPRIORITY;TEXTMESSAGE);
FNOPTIONS:=1;
FNTIMEOUT:=0;
Message:=@GetQueue(QUEUEHANDLE;FNOPTIONS;FNTIMEOUT);
@LogReport(Message);
QUEUEHANDLE:=@CloseQueue(QUEUEHANDLE);
Es wird eine Message-Queue mit dem Namen "QUEUE_NAME_1" erzeugt und geöffnet.
Die Message "Test Message" wird in die Message-Queue gestellt.
Danach wird die Message wieder aus der Message-Queue geholt (es wird so lange gewartet bis eine Message vorliegt) und im APILog ausgegeben.
Anschließend wird die Message-Queue wieder geschlossen.
Beispiel: @GetQueue(QUEUEHANDLE;FNOPTIONS;FNTIMEOUT);
TEXTQUEUENAME:="QUEUE_NAME_1";
Ret:=@CreateQueue(TEXTQUEUENAME);
QUEUEHANDLE:=@OpenQueue(TEXTQUEUENAME);
TEXTMESSAGE:="Test Message";
FNPRIORITY:=1;
@PutQueue(QUEUEHANDLE;FNPRIORITY;TEXTMESSAGE);
FNOPTIONS:=0;
FNTIMEOUT:=1000;
Message:=@GetQueue(QUEUEHANDLE;FNOPTIONS;FNTIMEOUT);
@LogReport(Message);
QUEUEHANDLE:=@CloseQueue(QUEUEHANDLE);
Es wird eine Message-Queue mit dem Namen "QUEUE_NAME_1" erzeugt und geöffnet.
Die Message "Test Message" wird in die Message-Queue gestellt.
Danach wird die Message wieder aus der Message-Queue geholt (es wird eine Sekunde gewartet bis eine Message vorliegt (wenn zum Zeitpunkt des Aufrufs noch keine Message vorliegt)) und im APILog ausgegeben.
Anschließend wird die Message-Queue wieder geschlossen.
