Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   [FMX IOS] MessageDLG mit iOS 11.2.2 (https://www.delphipraxis.net/194818-%5Bfmx-ios%5D-messagedlg-mit-ios-11-2-2-a.html)

Devil1925 10. Jan 2018 15:42

[FMX IOS] MessageDLG mit iOS 11.2.2
 
Moin, ich habe folgende Problemstellung:
Ich nutze in meiner App folgenden Code:
Delphi-Quellcode:
  if MessageDlg('Datenimport starten?', TMsgDlgType.mtConfirmation, [TMsgDlgBtn.mbYes, TMsgDlgBtn.mbNo], 0) = mrYes then
  DoStuff;
Mein Problem:
Bis zur iOS Version 11.2.1 hat alles Wunderbar funktioniert. Mit der neuen iOS Version 11.2.2 friert die App ein, sobald ich versuche den Dialog zu öffnen. es erscheint nur das Fenster mit den beiden Buttons und danach kann ich nichts mehr machen.
Hat jemand eine Idee, wie ich diese Problematik Lösen kann? habt ihr das selbe Problem?

Darlo 10. Jan 2018 16:58

AW: [FMX IOS] MessageDLG mit iOS 11.2.2
 
Probiers mal so:

Delphi-Quellcode:
  MessageDLG('Blubb',
    TMsgDlgType.mtInformation, [TMsgDlgBtn.mbYes] ,0,
            procedure(const AResult: System.UITypes.TModalResult)
              begin
                if aResult = mrYes then
                begin

                end;
              end);

Devil1925 11. Jan 2018 09:35

AW: [FMX IOS] MessageDLG mit iOS 11.2.2
 
Moin, dein Lösungsansatz funktioniert an und für sich, Bleibt hier nun das Fenster mit der Abfrage stehen bis die angegebene Methode komplett durchgelaufen ist. kann man das Irgendwie Ändern?

Darlo 11. Jan 2018 09:48

AW: [FMX IOS] MessageDLG mit iOS 11.2.2
 
Schau Dir mal den Link an:
http://docwiki.embarcadero.com/Libra....DialogService
Ansonsten einen neuen Thread starten.

Devil1925 11. Jan 2018 09:56

AW: [FMX IOS] MessageDLG mit iOS 11.2.2
 
Kann es sein, dass FMX.DialogService erst ab Berlin verfügbar ist? weil ich nutze derzeit noch Seattle. Und wenn ich versuche FMX.DialogService zu nutzen, dann kann der Name nicht aufgelöst werden.

Mavarik 11. Jan 2018 10:42

AW: [FMX IOS] MessageDLG mit iOS 11.2.2
 
Modale Abfragen mit Messagedialogen sind schon länger nicht mehr möglich, auf Android noch länger.

Du must die Programmlogik dann so umstellen, dass es erst weiter geht, wenn die procedure aufgerufen wird.

Mavarik

Devil1925 11. Jan 2018 10:58

AW: [FMX IOS] MessageDLG mit iOS 11.2.2
 
Habe es jetzt durch eine ganz wirre Kapselung hinbekommen...
Delphi-Quellcode:
Begin
  if msgYesNo('Nachricht') then
    DoSomeThing;
End;

function msgYesNo(msg:String):Boolean;
Begin
    Result := MessageDlg(MSG, TMsgDlgType.mtConfirmation, [TMsgDlgBtn.mbYes, TMsgDlgBtn.mbNo], 0) = mrYes;
End;
Damit funktioniert der Aufruf unter iOS 11.2.2 wieder einwandfrei.
(muss natürlich noch nen bisschen Testen, scheint aber zu funktionieren)

Mavarik 11. Jan 2018 11:14

AW: [FMX IOS] MessageDLG mit iOS 11.2.2
 
Zitat:

Zitat von Devil1925 (Beitrag 1390777)
Habe es jetzt durch eine ganz wirre Kapselung hinbekommen...


So macht man das nicht mehr... Modale MessageDialog sind auf mobilen Plattformen NICHT MEHR MÖGLICH

Darlo 11. Jan 2018 11:22

AW: [FMX IOS] MessageDLG mit iOS 11.2.2
 
Zitat:

Zitat von Mavarik (Beitrag 1390778)
Zitat:

Zitat von Devil1925 (Beitrag 1390777)
Habe es jetzt durch eine ganz wirre Kapselung hinbekommen...


So macht man das nicht mehr... Modale MessageDialog sind auf mobilen Plattformen NICHT MEHR MÖGLICH

Sicher?
http://docwiki.embarcadero.com/Libra...ogs.MessageDlg
Zitat:

The following table summarizes which platforms support which calls to MessageDlg and whether those calls are blocking or non-blocking:
Platform Without ACloseDialogProc With ACloseDialogProc
Windows Blocking Blocking
OS X Blocking Blocking
iOS Blocking Non-blocking
Android Non-blocking

Mavarik 11. Jan 2018 11:31

AW: [FMX IOS] MessageDLG mit iOS 11.2.2
 
Emm...

Zitat:

Zitat von Darlo (Beitrag 1390779)
Zitat:

iOS Blocking Non-blocking
Android Non-blocking

Ja wie du selber postest... Abgesehen davon:
Zitat:

Warning: MessageDlg is deprecated. Please use Platform.IFMXDialogServiceAsync.MessageDialogAsync .
Grüsse

Mavarik


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:15 Uhr.
Seite 1 von 3  1 23      

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