Zum Hauptinhalt springen

WinDialog

WinDialog(alpha1[, int2[, handle3]]) : int

Ausführbar von Clients mit grafischer Oberfläche Ausführbar vom Server Ausführbar von der DLL-Schnittstelle mit grafischer Erweiterung Ausführbar von der Web-Schnittstelle Ausführbar vom Druckprozessor Ausführbar von der ODBC-Schnittstelle Ausführbar vom SOA-Service mit grafischer Erweiterung

Fenster laden und ausführen

Details

Dieser Befehl lädt das Fenster (alpha1) und zeigt es an. Ist kein Dialog-Objekt mit dem angegebenen Namen vorhanden oder ist die Berechtigung des Benutzers nicht ausreichend, wird kein Dialog angezeigt und der globale Fehlerwert auf _rNoRec gesetzt.

Zur Darstellung des Fensters werden die Eigenschaften verwendet, die zum Entwurfszeitpunkt angegeben wurden. Kann aufgrund der Area-Eigenschaften das Fenster nicht im sichtbaren Bereich dargestellt werden, wird es automatisch in die Mitte des primären Bildschirms verschoben.

Je nach verwendetem Betriebssystem stehen unterschiedlich viele Ressourcen (Benutzer- und GDI-Objekte) zur Darstellung des Fensters zur Verfügung. Nach dem Laden des Fensters werden die verbleibenden Ressourcen überprüft. Stehen weniger als 10% zur Verfügung, wird der Dialog nicht geladen. Die Anweisung gibt 0 als Deskriptor zurück und der globale Fehlerwert wird auf _ErrOutOfMemory gesetzt. Die zur Verfügung stehenden Benutzer- und GDI-Objekte können über den Info -Dialog und die Eigenschaften ObjectsUserLimit und ObjectsGDILimit ermittelt werden.

info

Weiterführende Informationen unter Limitationen des Anwendungsprozesses

Folgende Optionen (int2) können angegeben werden:

Die Optionen _WinDialogAlwaysOnTop, _WinDialogApp und _WinDialogNoActivate können mit einer der anderen Optionen kombiniert werden.

Wird (handle3) nicht angegeben, ist der CONZEPT 16-Client das Eltern-Objekt des Dialogs. Andernfalls ist das Objekt, dessen Objektdeskriptor in (handle3) angegeben ist, das Elternfenster. Als Elternfenster kann nur ein Fenster / MDI-Fenster -Objekt angegeben werden.

Erfolgt der Aufruf eines Fensters mit einem Elternfenster (int3), erscheint das Fenster nicht als separater Task in der Taskleiste.

Ein Wechsel des Fokus in das Elternfenster ist nicht möglich. Der Eingabefokus kann erst dann wieder in das Elternfenster zurückgelangen, wenn der Fenster geschlossen wurde.

Das Fenster wird mit dem Drücken einer Schaltfläche, deren Eigenschaft TypeButton auf _WinBtnClose gesetzt ist, verlassen. Das Resultat ist der Wert der Eigenschaft ID der gedrückten Schaltfläche.

info

MDI-Fenster -Objekte müssen mit dem Befehl WinAdd () bzw. WinAddByName () geladen werden.

Beispiele:

// Fenster laden und anzeigen
WinDialog('FrmKunden');
if (ErrGet() != _ErrOk)
...

// Fenster 'Message' zentriert zum Eltern-
// fenster tParentFrame laden und anzeigen
tRes # WinDialog('Message', _WinDialogCenter, tParentFrame);
if (ErrGet() != _ErrOk)
tRes # ErrGet();

switch (tRes)
{
// OK-Schaltfläche gedrückt
case _WinIdOk :
{
...
}
// Abbrechen-Schaltfläche gedrückt
case _WinIdCancel :
{
...
}
// Keine ausreichende Berechtigung
case _rNoRec :
{
...
}
// Keine ausreichenden Ressoucen
case _ErrOutOfMemory :
{
...
}
...
}

Mögliche Laufzeitfehler: