AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Delphi FMX App Crash TControl.repaint;

FMX App Crash TControl.repaint;

Ein Thema von stalkingwolf · begonnen am 2. Jun 2021 · letzter Beitrag vom 7. Jun 2021
Antwort Antwort
stalkingwolf

Registriert seit: 6. Mai 2011
401 Beiträge
 
#1

FMX App Crash TControl.repaint;

  Alt 2. Jun 2021, 10:48
Folgendes Verhalten meiner Android APP.

Wenn ich die APP über die unteren Navigationsbuttons von Android mit Zurück (ganz rechts ) minimiere und dann erneut nach vorne bringe, dann stürzt mir die APP in procedure TControl.Repaint; bei if TCanvasStyle.SupportClipRects in Canvas.GetCanvasStyle then mit Signal 11 ab und Android startet die APP neu.
Die Einträge im Thread davor sind setFont usw.
Zumindestens zeigt mir das der Debugger an. Ob auf Android 8 oder 11 ist dabei egal. SDK 25.2.5.

Wenn ich die APP allerdings über den mittleren Android Button nach hinten schicke und dann erneut nach vorne rufe stürzt die APP nicht ab.
Frag mich auch was hier der Unterschied im Verhalten ist.
Ich habe die Ereignisse wie onActivate onShow onResize usw mal mit Logs versehen. Keins wird getriggert.

Edit : Bild vom Stack hinzugefügt

Edit2 : Ich sehe das dies bei dem AccessCameraAPP Beispiel von Delphi auch passiert.
Miniaturansicht angehängter Grafiken
crash.jpg  

Geändert von stalkingwolf ( 2. Jun 2021 um 11:20 Uhr)
  Mit Zitat antworten Zitat
stalkingwolf

Registriert seit: 6. Mai 2011
401 Beiträge
 
#2

AW: FMX App Crash TControl.repaint;

  Alt 2. Jun 2021, 16:44
Ich sehe das bei dem Back Button in Android in dem Delphi APP die Mainform geschlossen wird.

aber ist es nicht so das in Delphi das schließen der Mainform auch das beenden des Programmes ist?

Jedes Test APP aus Delphi verhält sich gleich.
Nach dem Back Button und erneuten Aufrufen aus der App Liste in Android zeigt wieder Splashscreen = Neustart der APP an.
Andere APPs verhalten sich nicht so.

ich habe nun mit action := TCloseAction.caNone; im Formclose verhindert.

ich sehe hier wurde das ganze auch mal diskutiert.
https://www.delphipraxis.net/193413-...ackbutton.html

Geändert von stalkingwolf ( 2. Jun 2021 um 16:56 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.222 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: FMX App Crash TControl.repaint;

  Alt 2. Jun 2021, 19:48
aber ist es nicht so das in Delphi das schließen der Mainform auch das beenden des Programmes ist?
Mobile Apps funktionieren anders, die kann man normalerweise gar nicht per Programm Beenden.
Grund dafür könnte sein dass das OS dann gar nicht genau weiss wohin es switchen soll, denn da können
allerhand Dinge zwischendurch passieren ( Telefonanruf, SMS, etc. ).

Du könntest aber den vkHardwareBack abfangen, und dann z.B. den Homescreen öffnen.
Vielleicht sowas in der Art:
https://stackoverflow.com/questions/...-app-on-delphi
  Mit Zitat antworten Zitat
stalkingwolf

Registriert seit: 6. Mai 2011
401 Beiträge
 
#4

AW: FMX App Crash TControl.repaint;

  Alt 4. Jun 2021, 09:36
aber ist es nicht so das in Delphi das schließen der Mainform auch das beenden des Programmes ist?
Mobile Apps funktionieren anders, die kann man normalerweise gar nicht per Programm Beenden.
Ja das klar. Aber das formclose wird von Delphi getriggert nicht von mir wenn der Backbutton gedrückt wird.
Der Stackoverflow Thread geht ja auch genau darum. IMO ist das verhalten von Delphi hier falsch.

Aber meine Lösung funktioniert. Ist nur etwas grob.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.222 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: FMX App Crash TControl.repaint;

  Alt 5. Jun 2021, 10:05
Vielleicht hilft Dir das hier.
https://stackoverflow.com/questions/...ogrammatically
finishAffinity(); scheint bei Android dafür vorgesehen zu sein, das sehe ich zumindest in verschiedenen Threads,
es gibt da aber zig Wege.
Hier in den offiziellen Docs wird aber auch auf ein exit(0); (REASON_EXIT_SELF) hingewiesen, was anscheinend auch OK ist.
https://developer.android.com/refere...cationExitInfo

aber wie gesagt, auch mit dem Hinweis:
Zitat:
Applications should normally not do this, as the system has a better knowledge in terms of process management.
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.176 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: FMX App Crash TControl.repaint;

  Alt 5. Jun 2021, 22:55
Ist das eine ganz neue App oder hast Du die von einer vorherigen Delphi-Version übernommen?

Habe schon erlebt, dass alte Style-Files aus vorherigen Versionen unerklärliche Probleme machen...
  Mit Zitat antworten Zitat
stalkingwolf

Registriert seit: 6. Mai 2011
401 Beiträge
 
#7

AW: FMX App Crash TControl.repaint;

  Alt 7. Jun 2021, 09:20
kommt aus 10.1. Dort wurde das Projekt damals erstellt und nun von 10.1 auf 10.4 wegen dem neuen SDK "portiert".
Ich meine das ganze hat mir ja schon bei der Kamera in die Suppe gespuckt.
  Mit Zitat antworten Zitat
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 +2. Es ist jetzt 11:58 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