![]() |
AW: Android: MessageDlg Logik
Da hatten die auch noch ganz andere Probleme. Naja, sei es wie es ist: MessageDlg's sind nicht mehr Modal, damit müssen wir leben. Hoffentlich bleibt diese Eigenschaft nur in FMX und kommt nicht in die Windows oder Mac Welt.
|
AW: Android: MessageDlg Logik
Die Dialoge sind immer noch modal aber nicht mehr blockierend!
|
AW: Android: MessageDlg Logik
Zitat:
Code:
Modale Dialoge sperren den Rest der Anwendung, solange der Dialog angezeigt wird.
Nichtmodale Dialoge erlauben auch Eingaben außerhalb des Dialogs. ![]() |
AW: Android: MessageDlg Logik
Zitat:
Geht aber nicht, denn der Dialog ist modal und sperrt den Rest, aber er blockiert die Codeausführung nicht. Vorher war der Dialog modal und blockierend, jetzt nur noch modal. |
AW: Android: MessageDlg Logik
Zitat:
Nur aus Neugier (für nicht FMXler), wenn in der weiteren Codeausführung erneut ein modaler Dialog aufgerufen wird während der erste noch nicht geschlossen ist, wie ist das geregelt? |
AW: Android: MessageDlg Logik
Ohne es explizit ausprobiert zu haben, würde ich bei dieser Konstellation:
Delphi-Quellcode:
erwarten, dass der Druck-Dialog erscheint und darüber der Speicher-Dialog.
procedure foo;
begin ConfirmAction( 'Willst du Drucken?', PrintFoo ); ConfirmAction( 'Willst du Speichern?', SaveFoo ); end; |
AW: Android: MessageDlg Logik
Zitat:
|
AW: Android: MessageDlg Logik
Zitat:
|
AW: Android: MessageDlg Logik
Ich denke, ich würde stets versuchen, solche Szenarien zu vermeiden. Denn eventuell möchte ich ja mit den Daten noch etwas furchtbar aufregendes tun, bevor der zweite Dialog kommt. Wenn die Reihenfolge zur Laufzeit dann umgedreht ist, wäre ich unter Umständen ordentlich gef ... ähm .. ge ... ge ... gekniffen.
|
AW: Android: MessageDlg Logik
Zitat:
Das Handling ist also ein Stack (Last In First Out) und genau das ist auch zu erwarten gewesen. Und ich wette dass zuerst der Drucken-Dialog erzeugt und angezeigt wird, dann der Speicher-Dialog erzeugt und angezeigt wird - da aber der Speicher-Dialog die gleiche Größe wie der Drucken-Dialog hat und der exakt an der gleichen Stelle liegt ist der Drucken-Dialog nicht sichtbar, denn der Speicher-Dialog liegt eben darüber. Er ist also da aber nicht sichtbar weil ja eben verdeckt. Und da zwischen dem Anzeigen der beiden Dialoge eben keine Stunden vergehen, sondern eher Millisekunden ist das Auge einfach zu träge um dieses zu bemerken. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz