WINGEN OUT= winnum [,ASYNC | CLOSE | WAIT=sec ]
Die Dialogbox wird ausgegeben. Wenn die Ausgabe eines Fensters öfters bzw. an unterschiedlichen Stellen durchgeführt werden soll, so genügt nur die Verwendung dieses Kommandos. Das Fenster muss nicht vor jeder Ausgabe definiert werden. Dies kann z.B. einmalig zu Beginn der Prozedur erfolgen.
winnum Nummer des Fensters, wie sie mit dem Kommando WINGEN USE erklärt wurde.
ASYNC Das Fenster wird asynchron ausgegeben, d.h. Die Prozedur wird nach Ausgabe des Fensters fortgesetzt. Die Daten für das Fenster können mit den Kommandos WINGEN TEXT, WINGEN ATTR und WINGEN ATTRP während des Prozedur-Ablaufs geändert werden, z.B. zum Anzeigen von Zwischen-Ergebnissen. Das Fenster wird mit dem Kommando WINGEN OUT=winnum,CLOSE geschlossen. Zur Prüfung, ob das Fenster noch existiert, z.B. weil es vom Benutzer explizit geschlossen wurde, steht das Kommando IF WINGEN winnum = EXIST zur Verfügung.
In einem asynchronen Fenster sollten nur STATIC-Objekte und PROGRESS-Objekte vorkommen. Bei anderen Fenster-Objekten, z.B. EDIT oder Buttons mit einer Aktion ist durch den asynchronen Verlauf nicht gewährleistet, dass die Verarbeitung in der Prozedur und die Verarbeitung durch einen Mausklick im asynchronen Fenster in der gewollten Reihenfolge ausgeführt wird. Außerdem kann es zu Kollisionen kommen, wenn die Hauptverarbeitung und die asynchrone Verarbeitung die gleichen Ressourcen (Arbeitsbereich, Variablen, Daten) verwenden.
Beim Schließen des Fensters werden folgende Verarbeitungen durchgeführt:
a) Das Fenster wird durch das Kommando WINGEN OUT=n,CLOSE geschlossen: Das Fenster wird ohne Verarbeitung geschlossen, auch wenn bei CANCEL- oder Default-Button eine Aktion definiert ist.
b) Das Fenster wird vom Benutzer durch einen Mausklick auf die System-Schaltfläche geschlossen: Es wird die Verarbeitung des Buttons, der als Cancel-Button definiert wurde, durchgeführt. Falls kein Cancel-Button definiert wurde, wird das Fenster ohne Aktion geschlossen.
c) Das Fenster wird vom Benutzer durch einen Mausklick auf einen Button geschlossen: Es wird die für den Button definierte Verarbeitung durchgeführt.
d) Falls das Fenster beim Beenden des EDTW noch existiert, wird es ohne Aktion geschlossen.
WAIT=sec Das Fenster wird synchron ausgegeben und automatisch nach sec Sekunden bzw. nach einem vorherigen Mausklick auf einen Button geschlossen. Beim Schließen des Fensters werden folgende Verarbeitungen durchgeführt:
a) Das Fenster wird nach Ablauf der angegebenen Sekunden geschlossen: Es wird die Verarbeitung des Buttons, der als Default-Button definiert ist, durchgeführt. Falls kein Default-Button definiert ist, wird das Fenster ohne Aktion geschlossen.
b) Das Fenster wird vom Benutzer durch einen Mausklick auf die System-Schaltfläche geschlossen: Es wird die Verarbeitung des Buttons, der als Cancel-Button definiert ist, durchgeführt. Falls kein Cancel-Button definiert ist, wird das Fenster ohne Aktion geschlossen.
c) Das Fenster wird vom Benutzer durch einen Mausklick auf einen Button geschlossen: Es wird die für den Button definierte Verarbeitung durchgeführt.
CLOSE Ein asynchrones Fenster wird geschlossen. Das Fenster wird ohne Verarbeitung geschlossen, auch wenn bei CANCEL- oder Default-Button eine Aktion definiert ist.
Beispiele:
@wingen out=1
@wingen out=1,ASYNC
@wingen out=1,CLOSE
@wingen out=1,WAIT=15