retval = moai.DoMethod(id, "ShowModal")
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.
Siehe moai.CreateObject()