AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Delphi Android: Externe Exception in FMX.Forms.TCommonCustomForm.MouseUp
Thema durchsuchen
Ansicht
Themen-Optionen

Android: Externe Exception in FMX.Forms.TCommonCustomForm.MouseUp

Ein Thema von philipp.hofmann · begonnen am 7. Nov 2021 · letzter Beitrag vom 8. Nov 2021
Antwort Antwort
philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
862 Beiträge
 
Delphi 10.4 Sydney
 
#1

Android: Externe Exception in FMX.Forms.TCommonCustomForm.MouseUp

  Alt 7. Nov 2021, 11:09
Hi,

wie geht ihr mit einer Exception wie der folgenden um:

Code:
Externe Exception 88
At address: $0000007E3435CA60

Call stack:
libicTrainer.so          $0000007E2497762C Myerrorreporting.TgoExceptionReporter.GlobalGetExceptionStackInfo(TExceptionRecord*) + 124
libicTrainer.so          $0000007E23932034 Sysutils.Exception.RaisingException(TExceptionRecord*) + 52
libicTrainer.so          $0000007E2395D7C0 Sysutils.RaiseExceptObject(TExceptionRecord*) + 64
libicTrainer.so          $0000007E239122D0 _RaiseAtExcept(TObject*, Pointer) + 64
libicTrainer.so          $0000007E23931200 Internal.Excutils.SignalConverter(NativeUInt, NativeUInt, NativeUInt) + 36
libicTrainer.so          $0000007E23E57320 Fmx.Forms.TCommonCustomForm.MouseUp(Uitypes.TMouseButton, set of Classes.System_Classes__1, Single, Single, Boolean) + 676
libicTrainer.so          $0000007E23DA601C Fmx.Platform.Ui.Android.TWindowServiceAndroid.MouseUp(Fmx.Forms.TCommonCustomForm*, Uitypes.TMouseButton, set of Classes.System_Classes__1, Types.TPointF, Boolean) + 104
libicTrainer.so          $0000007E23DACFCC Fmx.Platform.Ui.Android.TAndroidMotionManager.ProcessMouseEvents() + 144
libicTrainer.so          $0000007E23DA6D08 Fmx.Platform.Ui.Android.TAndroidMotionManager.HandleMotionEvent(Androidapi.Jni.Graphicscontentviewtext.JMotionEvent) + 124
libicTrainer.so          $0000007E23DA30F8 Fmx.Platform.Ui.Android.TAndroidWindowHandle.TFormViewListener.onTouchEvent(Androidapi.Jni.Graphicscontentviewtext.JMotionEvent) + 52
                          $0000007E249812DC
libicTrainer.so          $0000007E239CD5B8 Rtti.Invoke(Pointer, array of Rtti.TValue, Typinfo.TCallConv, Typinfo.TTypeInfo*, Boolean, Boolean) + 560
libicTrainer.so          $0000007E239CE258 Rtti.TRttiInstanceMethodEx.DispatchInvoke(Rtti.TValue, Rtti.TValue const*, Integer) + 1268
libicTrainer.so          $0000007E239AB498 Rtti.TRttiMethod.Invoke(TObject*, Rtti.TValue const*, Integer) + 88
libicTrainer.so          $0000007E23A7B208 Androidapi.Jnibridge.dispatchToNative(JNINativeInterface**, Androidapi.Jni._JNIObject*, Androidapi.Jni._JNIObject*, Androidapi.Jni._JNIObject*, Int64) + 656
Einfach fangen in der Methode Fmx.Forms.TCommonCustomForm.MouseUp funtioniert leider nicht und ich kann den Fehler lokal nicht nachstellen. Er passiert nur bei einer signifikanten Anzahl der User.

Grüße, Philipp
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.916 Beiträge
 
Delphi 12 Athens
 
#2

AW: Android: Externe Exception in FMX.Forms.TCommonCustomForm.MouseUp

  Alt 7. Nov 2021, 19:48
Ich würde versuchen den Code in MouseUp erstmal mit
TThread.ForceQueue zeitlich etwas zu entkoppeln.
Womöglich ist bei Up irgendein Timing zu lang.

Es ist aber auch möglich dass das Problem ganz woanders liegt und nur hier aufpoppt.

Geändert von Rollo62 ( 7. Nov 2021 um 19:50 Uhr)
  Mit Zitat antworten Zitat
philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
862 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Android: Externe Exception in FMX.Forms.TCommonCustomForm.MouseUp

  Alt 7. Nov 2021, 21:45
Generell: Ich benutze im Code nirgends ein MouseUp-Event. Den einzigen Code, den ich hier anfassen könnte, wäre der EMBT-Code.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.916 Beiträge
 
Delphi 12 Athens
 
#4

AW: Android: Externe Exception in FMX.Forms.TCommonCustomForm.MouseUp

  Alt 8. Nov 2021, 10:00
Seltsam, aber solche mysteriösen Fehler kenne ich auch zur Genüge.
Die habe ich immer durch Zerlegen, Modularisieren und Umstrukturieren versucht einzugrenzen,
und das hat meistens geholfen, oder zumindest tauchte dann ab und zu an ganz anderer Stelle ein Problem auf,
das man fixen konnte.

Oft hat es schon gereicht einfach die Uses aufzuräumen oder anders anzuordnen,
von Interface nach Implementation da wo es geht,
besser aber noch große Units in mehrere Kleine zu zerlegen.
Das mache ich mittlerweile permanent, und acht direkt auf minimale Unit-Größen.
Ich vermute dass manchmal, je nachdem welche Units wann per Linker eingebunden werden, irgendwelche Timings durcheinandergebracht werden können, und dann kann es irgendwo anders krachen.
  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 02:07 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