Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

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

AW: Android: MessageDlg Logik

  Alt 25. Jan 2015, 15:34
Selbst bei der VCL gibt es eigentlich keine modalen Dialoge. Das was da als modal verkauft wird, ist eine Schleife, die ständig Application.ProcessMessages aufruft. Vorher wurden alle anderen Formulare abgeschaltet und werden nachher wieder eingeschaltet, bzw. auf den gespeicherten Zustand zurückgesetzt.

Dieses modal soll ja eigentlich nur weitere Eingaben in den anderen Formularen verhindern und nur in diesem einzigen zulassen. Darum wird bei den Mobil-Plattformen quasi ein Vorhang (Rectangle, Opacity 50%, HitTest True) davorgelegt und dann kommt der Dialog. Am Ende wird der wieder entfernt.

Allerdings würde mich so eine Exit-Orgie in deinem Code auch stören:
Delphi-Quellcode:
if FileExists() then
begin
  MsgDlg('soll die Datei überschrieben werden',
     procedure(const AResult: TModalResult)
     begin
       if AResult = mrYes then
          begin
                 // ab hier wird die Datei überschrieben
          end;
     end);
end;
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