AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ShowModal komisches Verhalten

Ein Thema von Gruber_Hans_12345 · begonnen am 18. Okt 2023 · letzter Beitrag vom 18. Okt 2023
Antwort Antwort
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#1

ShowModal komisches Verhalten

  Alt 18. Okt 2023, 08:41
Hallo eine Frage verwendet wer von euch das ShohModal auf iOS Geräten?

Im Simulator und einem älteren iPAD funktioniert das ohne Probleme.
Aber auf einem neuen iPhone verhält es sich komisch - das Fenster, das per ShowModal kommen sollte, ist oft nicht sichtbar, da muss man dann einiges rumklicken aus App raus wieder rein, dann sieht man es.
Und auch beim verlassen des Fensters bleibt es oft einfach stehen, und man sieht das Hauptfenster nicht - bis man einiges herumspielt.

Wer eine Idee wo und wie ich da weiterkomme?
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
741 Beiträge
 
#2

AW: ShowModal komisches Verhalten

  Alt 18. Okt 2023, 08:46
Du musst eine Callbackfunktion angeben und dort den Code für die Verarbeitung nach dem Dialog angeben.
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#3

AW: ShowModal komisches Verhalten

  Alt 18. Okt 2023, 09:01
das hätte ich eigentlich aber ist trotzdem ein sehr komisches Verhalten

Unten ist der Code zum anzeigen des SettingsForm

Man sieht auf dem Handy (iPhone 14 Pro) das er die Kamera zwar ausschaltet (Das grüne Licht ist weg) das Bild bliebt dann stehen (da ja CameraComponent.Active := False) steht aber das Setting Form wird nicht angezeigt.
Dann gehe ich einfach normal raus, wieder rein, und ich sehe das Settings form.
In 1 von 10 Fällen funktioniert es das es sofort angezeigt wird.

Beim beenden des Settings Form ist es blöder, da wird die Kamera nicht mehr angezeigt, und es dauert länger (mehrere Versuche) bis ich den normalen Screen wieder sehe

Delphi-Quellcode:
procedure TCameraForm.actShowSettingsExecute(Sender: TObject);
var
    SavedCameraActive: Boolean;
begin
    SavedCameraActive := CameraComponent.Active;
    SettingsForm.Camera := CameraComponent;
    CameraComponent.Active := False;
    SettingsForm.lbiFormat.ItemData.Detail := fImageFormat;

    SettingsForm.ShowModal(procedure (AResult: TModalResult)
    begin
        CameraComponent.Active := SavedCameraActive;
        fImageFormat := SettingsForm.lbiFormat.ItemData.Detail;
    end);
end;
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#4

AW: ShowModal komisches Verhalten

  Alt 18. Okt 2023, 11:18
Was da auch komisch ist.
Die App ist im Fullscreen modus (keine softKEys und die Titelleiste ist auch nicht da)
Wenn ich in die Settings gehe dann ist es immer noch FullScreen.
Wenn ich das Modale Form verlasse dann schaltet er mir den FullScreen mode aus
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#5

AW: ShowModal komisches Verhalten

  Alt 18. Okt 2023, 11:29
Modal gibt es in den mobilen Platformen "eigentlich" nicht. (iOS/Android)
Laut den Herstellern, dieser OS, ist es auch verboten, den Hauptthread zu blockieren, was somit einer modalen/wartenden Arbeitsweise wiederspricht.

Fenster dürfen offiziell nur asynchron aufgerufen werden, also der Aufruf kehrt sofort zurück und Rückgaben werden in den CallBack-Events ausgewertet.
Bei allem Anderem bist'e selbst Schuld, falls es Probleme gibt.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (18. Okt 2023 um 11:32 Uhr)
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#6

AW: ShowModal komisches Verhalten

  Alt 18. Okt 2023, 12:03
Modal gibt es in den mobilen Platformen "eigentlich" nicht. (iOS/Android)
Laut den Herstellern, dieser OS, ist es auch verboten, den Hauptthread zu blockieren, was somit einer modalen/wartenden Arbeitsweise wiederspricht.

Fenster dürfen offiziell nur asynchron aufgerufen werden, also der Aufruf kehrt sofort zurück und Rückgaben werden in den CallBack-Events ausgewertet.
Bei allem Anderem bist'e selbst Schuld, falls es Probleme gibt.
Ja da hast du recht das es kein richtiges Modales Fenster ist, Aber die Funktion in Delphi heisst nun mal ja so
"ShowModal" und der Hauptthread wird ja nicht blockiert sondern dann asynchron die procedure aufgerufen wenn der Settings Dialog wieder geschlossen wird.
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:26 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