![]() |
Android MessageDlg
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. |
AW: Android MessageDlg
Zeig doch mal den Code wie du den
Delphi-Quellcode:
aufrufst.
MessageDlg
|
AW: Android MessageDlg
Code:
Wobei es egal ist, ob ich eine "echte" Callback Prozedur verwende oder diese gefakte.
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; |
AW: Android MessageDlg
Wenn Dialoge nicht mehr modal sind, warum sollten andere Formen dann auch gesperrt werden?
|
AW: Android MessageDlg
Zitat:
|
AW: Android MessageDlg
Ach stimmt ja.
Sicher daß der Dialog im Hintergrund verschwindet und nicht geschlossen wird, wenn man daneben klickt? |
AW: Android MessageDlg
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 :) |
AW: Android MessageDlg
Und
Delphi-Quellcode:
ruft bestimmt auch noch
Delay
Delphi-Quellcode:
auf?
Application.ProcessMessages
Es gibt einen Grund, warum es die klassischen modalen Fenster unter Android nicht gibt: :arrow:
Delphi-Quellcode:
findet Android total doof!
Application.ProcessMessages
Du bringst das aber durch die Hintertür wieder hinein und wunderst dich, warum es nicht funktioniert. :stupid: |
AW: Android MessageDlg
Das Problem hat ja nichts mit Delay zu tun. Das Fenster ist irgendwie nicht Always-On-Top.
|
AW: Android MessageDlg
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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:29 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-2025 by Thomas Breitkreuz