![]() |
FMX App Crash TControl.repaint;
Liste der Anhänge anzeigen (Anzahl: 1)
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. |
AW: FMX App Crash TControl.repaint;
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. ![]() |
AW: FMX App Crash TControl.repaint;
Zitat:
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: ![]() |
AW: FMX App Crash TControl.repaint;
Zitat:
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. |
AW: FMX App Crash TControl.repaint;
Vielleicht hilft Dir das hier.
![]() 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. ![]() aber wie gesagt, auch mit dem Hinweis: Zitat:
|
AW: FMX App Crash TControl.repaint;
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... |
AW: FMX App Crash TControl.repaint;
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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:52 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