Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Dialoge unter IOS und Anroid _> FMX unbenutzbar ? (https://www.delphipraxis.net/195380-dialoge-unter-ios-und-anroid-_-fmx-unbenutzbar.html)

arnof 23. Feb 2018 13:21

Dialoge unter IOS und Anroid _> FMX unbenutzbar ?
 
Hallo,

da bekannter maßen die gängigen Dialoge (ShowMessage , MassageDLG) unter IOS (aktuellste Version) nicht mehr antippbar sind.

Unter Android lächelt mich nur noch eine Fehlermeldung an, das diese Plattform das nicht mehr unterstützen!

Das alles in der aktuellsten Version von Tokyio mit aktuellen Feb Fix.

Gibt es da ein Hotfix oder muss man nun für die mobile Entwicklung, doch umsteigen ?

sko1 23. Feb 2018 14:20

AW: Dialoge unter IOS und Anroid _> FMX unbenutzbar ?
 
Showmessage gibt es nach wie vor für einfache Mitteilungen und für Sachen wie Abfragen Ja/nein gibt es
Delphi-Quellcode:
TDialogService.MessageDialog(Meldung, TMsgDlgType.mtWarning, mbYesNo,TMsgDlgBtn.mbNo, 0,
        procedure(const aResult: TModalResult)
wobei man da beachten muss dass die Auswertung der Antwort Bestandteil des Dialogs ist!

Ciao
Stefan

Rollo62 23. Feb 2018 14:25

AW: Dialoge unter IOS und Anroid _> FMX unbenutzbar ?
 
Zitat:

bekanntermaßen
Kann ich nicht ganz nachvollziehen, ich nutze die Dialoge aber auch selten.

Wenn ich das nutze dann nur anonymer Prozedur.


Zitat:

Das alles in der aktuellsten Version von Tokyio mit aktuellen Feb Fix.
Soll das heissen dass ab diesem Fix solche Probleme auftreten ?

Rollo

arnof 23. Feb 2018 14:55

AW: Dialoge unter IOS und Anroid _> FMX unbenutzbar ?
 
Zitat:

Zitat von Rollo62 (Beitrag 1394512)
Zitat:

bekanntermaßen
Kann ich nicht ganz nachvollziehen, ich nutze die Dialoge aber auch selten.

Wenn ich das nutze dann nur anonymer Prozedur.




IOS auch mit Berlin und Seattle gehen die Dialoge nicht mehr unter IOS (Sichtbar, aber nicht anklickbar)


Zitat:

Soll das heissen dass ab diesem Fix solche Probleme auftreten ?

Rollo
Nein, aber bevor ich Merker, habe ich noch das aktuellste Fix installiert.

himitsu 23. Feb 2018 15:15

AW: Dialoge unter IOS und Anroid _> FMX unbenutzbar ?
 
[deleted]

Darlo 23. Feb 2018 16:15

AW: Dialoge unter IOS und Anroid _> FMX unbenutzbar ?
 
Zwei Links die Du lesen solltest:

http://docwiki.embarcadero.com/Libra...ogs.MessageDlg

http://docwiki.embarcadero.com/Libra...ageDialogAsync

arnof 23. Feb 2018 20:03

AW: Dialoge unter IOS und Anroid _> FMX unbenutzbar ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
So nochmals ich:

also bei alt Projekten von mir und meinem Mitarbeiter gehen mit dem Update von IOS die ShowMessage und MessageDLG nicht mehr (was Jahre lang ging).

Jetzt habe ich ein einfaches neues Projekt gemacht, hier gehts wieder wie gewohnt ?! Warum kann ich erstmal nicht sagen.

PS: unter IOS hält der MessageDLG auch ganz normal an und arbeitet erst nach Beantwortung des Dialogs ganz normal im Code weiter ohne anonyme Methoden usw.

arnof 24. Feb 2018 09:47

AW: Dialoge unter IOS und Anroid _> FMX unbenutzbar ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also mit IOS 11.2.5 und 11.2.6 gibt es definitiv ein Problem mit MessageDLG!

Code:
 MessageDLG('File delete?',
    TMsgDlgType.mtWarning, [TMsgDlgBtn.mbYes, TMsgDlgBtn.mbNo] ,0, TMsgDlgBtn.mbNo,
            procedure(const AResult: System.UITypes.TModalResult)
              begin
                if aResult = mrYes then
                begin
                   ShowMessage('yes');
                 DeleteFile(Filename);
                 FormShow(Sender);
                end else begin
                   ShowMessage('no');
                end;
              end);
   end;
unter IOS 9 und IOS10 geht alles wie gewohnt und ab IOS 11.2.x sind die Dialoge nicht anklickbar (siehe Screenshot) es es hängt hier fest!

Darlo 24. Feb 2018 10:16

AW: Dialoge unter IOS und Anroid _> FMX unbenutzbar ?
 
Gerade eine App von mir unter iOS 11.2.6 getestet. Konnte keine Probleme bei Dialogen feststellen.

arnof 24. Feb 2018 10:31

AW: Dialoge unter IOS und Anroid _> FMX unbenutzbar ?
 
es ist aber nicht nur eine App und nicht nur von mir, sondern auch vom Kollegen. Der hat Apps mit Seattle und Berlin die im Appstore stehen.

Hier kommen Beschwerden, von Kunden, die die App schon länger haben und IOS Update gemacht haben....

Deshalb habe ich es mit Tokyo getestet. Wie schon mal geschrieben, mit einer neuen leeren App geht das mit meiner bestehenden App, wo einige Forms in der Reihenfolge vorher stehen:

{UPDATE}

MailForm-> FliedialogForm dann geht nichts mehr

Ich habe nun einiges getestet (liegt es vielleicht am ShowModal ? -> nun ging es genau 1 mal, bei 2'ten Aufruf geht nicht mehr ????

Jetzt nur mit Show jetzt geht es dauerhaft -> MailForm-> FliedialogForm (Show/ShowModal)

arnof 17. Mär 2018 16:33

AW: Dialoge unter IOS und Anroid _> FMX unbenutzbar ?
 
Mit dem Update 10.2.3 ist das Problem gelöst!

Es geht wieder wie gewohnt :wink:

TurboMagic 18. Mär 2018 10:14

AW: Dialoge unter IOS und Anroid _> FMX unbenutzbar ?
 
Ja, mit den in der Doku angegebenen Fassungen bekommt man entsprechende Dialoge zum Laufen.
Es gibt aber leider noch ein Problem damit:
https://quality.embarcadero.com/brow...2MessageDlg%22

Vielleicht möchte ja der eine oder andere auch für diesen Report in QP abstimmen?

Grüße

TurboMagick

Mavarik 19. Mär 2018 13:02

AW: Dialoge unter IOS und Anroid _> FMX unbenutzbar ?
 
Zitat:

Zitat von arnof (Beitrag 1396473)
Mit dem Update 10.2.3 ist das Problem gelöst!

Es geht wieder wie gewohnt :wink:

Aber es funktioniert nicht mehr der Modal-Trick mit

Delphi-Quellcode:
While not result do
begin
  application.Processmessages;
  Sleep(10);
end;
Hab das irgendwo als Workaround gesehen...

Mavarik

arnof 19. Mär 2018 21:52

AW: Dialoge unter IOS und Anroid _> FMX unbenutzbar ?
 
mit dem Sleep nutzt nichts wenn die Ja/Nein Buttons nicht mehr klickbar sind (waren)

Ich habe aber nur eine "alte" App getestet, die ich im okt 2015 zu letzt mit dem damaligen aktuellen Delphi hochgeladen hatte (IOS). Diese ging dann nicht mehr mit Tokyo 10.2.2 (oben beschriebenes Dialog Problem). Mit 10.2.3 gingen hier nun wieder die Dialoge. Android konnte ich noch nicht testen, da das Update meine Android Einstellungen ZERSTÖRT hat und mir es noch nicht wieder gelungen ist dies wieder zum laufen zu bringen, damit die SDK Einstellung wieder gehen.

arnof 20. Mär 2018 00:38

AW: Dialoge unter IOS und Anroid _> FMX unbenutzbar ?
 
Zitat:

Zitat von TurboMagic (Beitrag 1396512)
Ja, mit den in der Doku angegebenen Fassungen bekommt man entsprechende Dialoge zum Laufen.
Es gibt aber leider noch ein Problem damit:
https://quality.embarcadero.com/brow...2MessageDlg%22

Vielleicht möchte ja der eine oder andere auch für diesen Report in QP abstimmen?

Grüße

TurboMagick

ok zu früh gefreut; nachdem bei mir wieder alles mit 10.2.3 geht, habe ich das nochmals genau geprüft:

unter IOS hänge der MessageDlg weiterhin, wenn das Fenster vorher mit ShowModal geöffnet wurde :oops::roll::mrgreen: Sorry für die Fake New

Mavarik 20. Mär 2018 00:46

AW: Dialoge unter IOS und Anroid _> FMX unbenutzbar ?
 
Kleiner Tipp zum SDK Manager...

Wenn das Parsen der XML Datei hängen bleibt...

Fenster minimieren und wieder herstellen. (2-3 mal)

Dann läuft er jedes mal weiter...

Gleiches gilt für den download.

(Ist halt java)

Mavarik

TurboMagic 22. Mär 2018 17:04

AW: Dialoge unter IOS und Anroid _> FMX unbenutzbar ?
 
Zitat:

Zitat von arnof (Beitrag 1396720)
Zitat:

Zitat von TurboMagic (Beitrag 1396512)
Ja, mit den in der Doku angegebenen Fassungen bekommt man entsprechende Dialoge zum Laufen.
Es gibt aber leider noch ein Problem damit:
https://quality.embarcadero.com/brow...2MessageDlg%22

Vielleicht möchte ja der eine oder andere auch für diesen Report in QP abstimmen?

Grüße

TurboMagick

ok zu früh gefreut; nachdem bei mir wieder alles mit 10.2.3 geht, habe ich das nochmals genau geprüft:

unter IOS hänge der MessageDlg weiterhin, wenn das Fenster vorher mit ShowModal geöffnet wurde :oops::roll::mrgreen: Sorry für die Fake New

Hallo,

ich glaube mobile Plattformen (zumindest Android!) mögen keine modalen Dialoge.
Also kein ShowModal benutzen. Wenn man sowas konstruieren möchte, muss man es
glaube ich DoItYourself mäßig tun.

Meiner Meinung nach wäre es besser (auch wenn's manchmal aufwändiger ist, ich
kenne das Problem) die App gleich so umzusetzen, dass die nicht modale Dialog Form
benutzt wird und der Programmablauf erst über die beim Drücken der Buttons
ausgelösten Handler weiter macht.

Grüße

TurboMagic

NickD 7. Mai 2018 20:47

AW: Dialoge unter IOS und Anroid _> FMX unbenutzbar ?
 
Hallo,
ich habe ebenfalls Probleme mit Showmessages und Dialogen unter iOS mit Delphi 10.2.x.
Eventuell liegt hier das gleiche Problem vor. Die Dialoge, Showmessages und auch der Scroll bei Comboboxen funktionieren nicht mehr, sobald diese auf einer 2. Form die mit Showmodal aufgerufen wurde liegen/aufgerufen werden.
Beitrag der Delphi-Praxis:
https://www.delphipraxis.net/196278-...-probleme.html

Das Problem habe ich bereits im QC gemeldet:
https://quality.embarcadero.com/browse/RSP-20221

Embarcadero konnte mir hier leider nicht weiterhelfen. Ich sehe diesen Bug als ziemlich kritisch an.

KodeZwerg 7. Mai 2018 20:53

AW: Dialoge unter IOS und Anroid _> FMX unbenutzbar ?
 
Ich find den Workaround mit TPanel in Deinem Thread sehr gut. Schade das er Dir nicht zusagt.

NickD 7. Mai 2018 21:01

AW: Dialoge unter IOS und Anroid _> FMX unbenutzbar ?
 
Zitat:

Zitat von KodeZwerg (Beitrag 1401586)
Ich find den Workaround mit TPanel in Deinem Thread sehr gut. Schade das er Dir nicht zusagt.

Hi KodeZwerg. Ich bin dankbar für deinen Workaround und werde diesen auch versuchen. Ich würde nur gerne das Problem an sich gelöst haben. Aber die Hoffnung auf eine stabile 10.3 stirbt zuletzt ;)

NickD 21. Jun 2018 07:10

AW: Dialoge unter IOS und Anroid _> FMX unbenutzbar ?
 
Hallo,
ich würde hier gerne nochmal das Thema aufgreifen.
Da ShowModal unter iOS nicht mehr verwendbar ist, habe ich versucht alles auf Show umzustellen.
In den meisten Fällen gelingt das auch.

Wie sieht es jedoch mit folgender Konstruktion aus(Als Beispiel):
1. Form1 ruft Form2 mit einem String-Parameter auf
2. Form2 verarbeitet den String und soll diesen verarbeiteten String, nach einem Button Klick an Form1 zurückgeben
(Unit der Form1 soll nicht in Unit der Form2 eingebunden werden, da Form2 in mehreren Formen verwendet werden soll.)

Wie bekomme ich den verarbeiteten String der Form2 nun als Ergebnis zurück?

Mit ShowModal hätte ich in der Anonymen Procedure den String ausgelesen.

Hoffe ihr könnt mir einen kurzen Denkanstoß geben ;)

mfg Nick.

Schokohase 21. Jun 2018 09:37

AW: Dialoge unter IOS und Anroid _> FMX unbenutzbar ?
 
Schreib dir doch eine Methode
Delphi-Quellcode:
ShowWithCloseCallback( ACloseCallback: TProc )
und rufe diesen Callback auf, wenn die Form geschlossen wird.

Das sollte mit ein paar Zeilen Code erledigt sein.

TurboMagic 23. Jun 2018 13:46

AW: Dialoge unter IOS und Anroid _> FMX unbenutzbar ?
 
Um es mal etwas detaillierter zu erläutern:

Unit Unit2;

interface

type
TMyCallback = procedure(Sender: TObject; s: string) of Object;

TForm2 = class(TForm)
[..]
private
FMyCallback : TMyCallback;
public
procedure ShowWithCallback(Callback: TMyCallback);
end;

[..]

procedure TForm2.ShowWithCallback(Callback: TMyCallback);
begin
assert(assigned(Callback), 'Es muss ein Callback übergeben werden');
FMyCallback := Callback;
end;

Im OnClose wird es dann so aufgerufen:

FMyCallback(self, 'mein Rückgabewert');

Und Form1 braucht natürlich eine Public Methode wie folgt:

procedure TForm1.Form2ReturnCode(Sender: TObject; ReturnValue: string);

Grüße

TurboMagick


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:22 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