Lade...
 

OpenWindow

OpenWindow

OpenWindow(windowID, n), OpenWindow(windowID)

Parameter:  Bezeichner eines Windows, Anzahl n (Default ist n = 0)

Stack
Stack Position Beschreibung
Stack(In) Top -
Stack(Out) Top

TRUE oder FALSE (1 oder 0)

199107
CX_WIDGET oder INVALID

Das identifizierte Window wird geöffnet, erscheint also auf dem Bildschirm. Mit Parameter n kann man die Zahl der gleichzeitig existenten Windows beschränken. Mit 0 wird keine Beschränkung gesetzt.

Das Resultat auf dem Stack zeigt an, ob ein Window eröffnet wurde, oder ob dies wegen Überschreitung des Limits n nicht der Fall war.
Bis DLL-Version 198981 wurde dies über TRUE/FALSE kommuniziert.

Ab DLL-Version 199107 wird das CX_WIDGET-Objekt des neu geöffneten Fensters zurückgeliefert oder INVALID falls:

  • aufgrund des Limits kein weiteres Fenster mehr geöffnet werden kann (das zuletzt geöffnete Fenster mit dem Namen wird fokussiert)
  • bei OpenWindow(STACK) das übergebene CX_WIDGET ein bereits offenes Fenster ist
  • bei OpenWindow(STACK) ein CX_WIDGET übergeben wurde, das kein toplevel Fenster ist.

Falls OpenWindow(STACK) mit einem CX_WIDGET aufgerufen wird, dann wird das Fenster by-name im aktuellen Modul geöffnet. Es ist also nicht möglich ein Widget an ein anderes Modul zu senden und in diesem Modul dann (über die Modulgrenze hinweg) zu öffnen.

Je nachdem, ob ein Control Window aktiv ist - siehe ControlWindow - wird das Window diesem als Childwindow zugeordnet oder nicht.

Code-Beispiel:
OpenWindow(win1) -> window "Dies befindet sich in einem neu geöffneten Fenster" window PutValue(STACK, subWidget)