Bezeichnung
Dialog.ShowModal -- öffnet einen Dialog und startet die Modal-Schleife
Übersicht
retval = moai.DoMethod(id, "ShowModal")
Beschreibung
Diese Methode öffnet das Dialogfenster und startet eine modale Schleife, die den Rest des Programmes blockiert und auf das Schließen des Dialogs wartet, bevor die Steuerung an das Skript zurückgegeben wird. Mit anderen Worten: Dialog.ShowModal kehrt erst zurück, wenn der Benutzer das Dialogfenster schließt oder das Skript Dialog.EndModal für das Dialogfenster aufruft.

Wenn Sie einen nicht-modalen Dialog öffnen möchten, d.h. einen Dialog, der Ihr Skript nicht blockiert, während es geöffnet ist, dürfen Sie nicht Dialog.ShowModal verwenden, sondern müssen stattdessen Window.Open für den Dialog auf True setzen (und möglicherweise auch Application.Sleep auf True setzen, wenn Sie das Programm in eine Art Ruhezustand versetzen möchten, während der Dialog geöffnet ist). Das eigentliche Verhalten des Dialogs implementieren Sie (z.B. ein ständig aktualisierter Fortschrittsbalken), indem Sie wiederholt einen Verwaltungsbefehl aufrufen, entweder mit SetTimeout() oder des neuen Befehls RunCallback() von Hollywood 9.0. Wenn Sie mit einem nicht-modalen Dialog fertig sind, setzen Sie Window.Open darauf auf False. Verwenden Sie nicht Dialog.EndModal mit nicht-modalen Dialogen!

Beachten Sie, dass es eine gute Programmierpraxis ist, Dialoge nach Bedarf zu erstellen und zu löschen. Sie sollten sie nicht für die gesamte Lebensdauer Ihres Programmes im Speicher behalten, sondern nur bei Bedarf erstellen und löschen, sobald Sie damit fertig sind. Siehe Dialog-Klasse für Details.

Wenn Sie benachrichtigt werden möchten, wenn der Benutzer auf das Schließsymbol eines Dialogs klickt, müssen Sie eine Überwachung mit dem Attribut Window.CloseRequest installieren. Wenn es keine Überwachung auf diesem Attribut gibt, ruft RapaGUI beim Klick auf das Schließsymbol einfach Dialog.EndModal mit 0 als Parameter auf.

Eingaben
id
ID des Dialogobjekts
dlgfunc
optional: Funktion, die den Dialog verwaltet
userdata
optional: Benutzerdaten, welche an die Dialogfunktion übergeben werden
Rückgabewerte
retval
Rückgabewert des Dialogs
Beispiel
Siehe moai.CreateObject()

Navigation zeigen