AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Android: MessageDlg Logik

Offene Frage von "Daniel"
Ein Thema von amigage · begonnen am 25. Jan 2015 · letzter Beitrag vom 14. Feb 2015
Antwort Antwort
Seite 3 von 4     123 4   
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#21

AW: Android: MessageDlg Logik

  Alt 13. Feb 2015, 14:32
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.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#22

AW: Android: MessageDlg Logik

  Alt 13. Feb 2015, 14:46
Die Dialoge sind immer noch modal aber nicht mehr blockierend!
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#23

AW: Android: MessageDlg Logik

  Alt 13. Feb 2015, 14:58
Die Dialoge sind immer noch modal aber nicht mehr blockierend!
Aber was ist denn da der Unterschied? Ich dachte das blockieren wäre das modale?

Code:
Modale Dialoge sperren den Rest der Anwendung, solange der Dialog angezeigt wird.
Nichtmodale Dialoge erlauben auch Eingaben außerhalb des Dialogs.
aus Wikipedia
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#24

AW: Android: MessageDlg Logik

  Alt 13. Feb 2015, 15:04
Die Dialoge sind immer noch modal aber nicht mehr blockierend!
Aber was ist denn da der Unterschied? Ich dachte das blockieren wäre das modale?

Code:
Modale Dialoge sperren den Rest der Anwendung, solange der Dialog angezeigt wird.
Nichtmodale Dialoge erlauben auch Eingaben außerhalb des Dialogs.
aus Wikipedia
Na dann versuche doch mal mit dem neuen nicht blockierendem Dialog in der Anwendung weiter zu arbeiten. Muss ja nach deinem Verständnis gehen.

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.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#25

AW: Android: MessageDlg Logik

  Alt 13. Feb 2015, 16:16
... der Dialog ist modal und sperrt den Rest, aber er blockiert die Codeausführung nicht.
Aha, so ist das gemeint. Die Codeausführung kann quasi schon mit was anderem weiter machen.


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?
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#26

AW: Android: MessageDlg Logik

  Alt 13. Feb 2015, 20:01
Ohne es explizit ausprobiert zu haben, würde ich bei dieser Konstellation:
Delphi-Quellcode:
procedure foo;
begin
  ConfirmAction( 'Willst du Drucken?', PrintFoo );
  ConfirmAction( 'Willst du Speichern?', SaveFoo );
end;
erwarten, dass der Druck-Dialog erscheint und darüber der Speicher-Dialog.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#27

AW: Android: MessageDlg Logik

  Alt 14. Feb 2015, 14:00
Ohne es explizit ausprobiert zu haben, würde ich bei dieser Konstellation:
Delphi-Quellcode:
procedure foo;
begin
  ConfirmAction( 'Willst du Drucken?', PrintFoo );
  ConfirmAction( 'Willst du Speichern?', SaveFoo );
end;
erwarten, dass der Druck-Dialog erscheint und darüber der Speicher-Dialog.
Ich habe - ohne zu fragen - Dein Beispiel genutzt. Es ist genau anders herum. Erst kommt der zweite Dialog (hier das Speichern), danach dann der erste Dialog (hier das Drucken).
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.193 Beiträge
 
Delphi 10.4 Sydney
 
#28

AW: Android: MessageDlg Logik

  Alt 14. Feb 2015, 14:03
Ich habe - ohne zu fragen - Dein Beispiel genutzt. Es ist genau anders herum. Erst kommt der zweite Dialog (hier das Speichern), danach dann der erste Dialog (hier das Drucken).
Es kommt aber aus gleiche raus. Erst muss der Speichern-Dialog bestätigt werden und dann der Druck-Dialog
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#29

AW: Android: MessageDlg Logik

  Alt 14. Feb 2015, 14:20
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.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#30

AW: Android: MessageDlg Logik

  Alt 14. Feb 2015, 14:22
Ohne es explizit ausprobiert zu haben, würde ich bei dieser Konstellation:
Delphi-Quellcode:
procedure foo;
begin
  ConfirmAction( 'Willst du Drucken?', PrintFoo );
  ConfirmAction( 'Willst du Speichern?', SaveFoo );
end;
erwarten, dass der Druck-Dialog erscheint und darüber der Speicher-Dialog.
Ich habe - ohne zu fragen - Dein Beispiel genutzt. Es ist genau anders herum. Erst kommt der zweite Dialog (hier das Speichern), danach dann der erste Dialog (hier das Drucken).
Dann habe ich mich unglücklich ausgedrückt: Wenn der Speicher-Dialog über dem Drucken-Dialog liegt, dann muss erst der Speicher-Dialog und dann der Drucken-Dialog bearbeitet werden.

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.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz