AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Android MessageDlg

Ein Thema von greenmile · begonnen am 16. Feb 2016 · letzter Beitrag vom 17. Feb 2016
Antwort Antwort
Seite 1 von 2  1 2   
greenmile

Registriert seit: 17. Apr 2003
1.100 Beiträge
 
Delphi 10.3 Rio
 
#1

Android MessageDlg

  Alt 16. Feb 2016, 12:02
Hallo,

ich habe gerade mit erschrecken festgestellt, dass unter XE8=>Firemonkey=>Android die MessageDlg nicht Always-On-Top ist. Ich kann also auf meinem Handy in den Hintergrund klicken und die Messagebox ist weg. Ich weiß, ich sollte keine Messageboxen verwenden. Aber gibt es einen Workaround? Ich kenne ja das Handle von dem Messagebox-Fenster nicht, um es immer wieder in den Vordergrund zu holen.
  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
 
#2

AW: Android MessageDlg

  Alt 16. Feb 2016, 12:12
Zeig doch mal den Code wie du den MessageDlg aufrufst.
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
greenmile

Registriert seit: 17. Apr 2003
1.100 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Android MessageDlg

  Alt 16. Feb 2016, 13:31
Code:
  MsgDlgResult := -1;
  FMX.Dialogs.MessageDlg(Msg, DlgType, Buttons, HelpCtx,
            procedure(const AResult: TModalResult)
            begin
              MsgDlgResult:= AResult;
            end
          );
  while MsgDlgResult<0 do Delay(10);
  Result := MsgDlgResult;
Wobei es egal ist, ob ich eine "echte" Callback Prozedur verwende oder diese gefakte.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.722 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Android MessageDlg

  Alt 16. Feb 2016, 14:17
Wenn Dialoge nicht mehr modal sind, warum sollten andere Formen dann auch gesperrt werden?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
greenmile

Registriert seit: 17. Apr 2003
1.100 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Android MessageDlg

  Alt 16. Feb 2016, 14:23
Wenn Dialoge nicht mehr modal sind, warum sollten andere Formen dann auch gesperrt werden?
Sie müssen ja nicht gesperrt sein. Eine Messagebox muss aber Always-On-Top sein. Kann man verstehen, muss man aber nicht. Always-On-Top <> Modal.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.722 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Android MessageDlg

  Alt 16. Feb 2016, 14:27
Ach stimmt ja.

Sicher daß der Dialog im Hintergrund verschwindet und nicht geschlossen wird, wenn man daneben klickt?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
greenmile

Registriert seit: 17. Apr 2003
1.100 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: Android MessageDlg

  Alt 16. Feb 2016, 14:39
Ne die ist im Hintergrund. Durch die Funktion oben wird ja gewartet, bis der User OK, Abbrechen oder sonstwas klickt. Klickt er nun daneben, dann wartet das Programm weiter, nur dass der User nichts mehr klicken kann, er sieht die Box ja nicht mehr. Damit lässt sich das wunderbar nachvollziehen.

PS: Es ist erschreckend, wie schnell Google's Indexdienst arbeitet. Habe eben nochmal gegoogelt und diesen Beitrag gefunden
  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
 
#8

AW: Android MessageDlg

  Alt 16. Feb 2016, 15:03
Und Delay ruft bestimmt auch noch Application.ProcessMessages auf?

Es gibt einen Grund, warum es die klassischen modalen Fenster unter Android nicht gibt:

Application.ProcessMessages findet Android total doof!

Du bringst das aber durch die Hintertür wieder hinein und wunderst dich, warum es nicht funktioniert.
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
greenmile

Registriert seit: 17. Apr 2003
1.100 Beiträge
 
Delphi 10.3 Rio
 
#9

AW: Android MessageDlg

  Alt 16. Feb 2016, 15:13
Das Problem hat ja nichts mit Delay zu tun. Das Fenster ist irgendwie nicht Always-On-Top.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.722 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Android MessageDlg

  Alt 16. Feb 2016, 15:21
Android ist mehr Eventgesteuert, also "führe xyz aus, wenn abc".
Aber auch im normalen Delphi Windows muß man mit Warteschleifen etwas aufpassen.


[OT] Es gibt Addons/Systeme um die Serverlast zu minimieren.
Anstatt Google ständig alle Seiten runterläd und parst, sagt man dem wenn es was Neues gibt und wo sich das befindet.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

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 11:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf