![]() |
FMX: SOAP führt nicht vorhersehbar zu EInsufficientRTTI
Ich hänge irgendwie fest, und kanns mir nicht erklären, was da passiert. Mein Projekt ist für Win, macOS und iOS. Die ersten beiden machen keine Probleme (mehr), aber unter iOS kommt es sporadisch, nicht vorhersehbar zu dieser Exception
Zitat:
Das Vorkommen der Exception konnte ich auf SOAP-Aufrufe eingrenzen (ich verwende schlicht sonst keine RTTI, zumindest aktiv und bewusst). Ich habe eine soap.pas basierend auf die Server-WSDL von Delphi erzeugen lassen, und es läuft auch wie gesagt unter Win und macOS ganz ordentlich, unter iOS kann es mal stundenlang gut gehen, und mal direkt beim App-Start nicht. Wenn das dann aber mal passiert, dann war es das, ich habe keinen Schimmer, wie ich auf diese Exception reagieren soll. Denn die SOAP-Objekte sind ja IInvokable, die im initialization der soap.pas registriert werden. Ich kann nichts freigeben und neu erzeugen, oder wie mache ich das mit einer Unit zur Laufzeit? Sherlock |
AW: FMX: SOAP führt nicht vorhersehbar zu EInsufficientRTTI
Gibt es ein Test-Projekt, dann könnte ich das mal probieren ?
Habe zwar bisher nur SOAP unter Win gemacht, aber iOS steht immer auf der Liste. Rollo |
AW: FMX: SOAP führt nicht vorhersehbar zu EInsufficientRTTI
Hmmm, dann bräuchte es auch einen Server... beides kommt von mir. Ich bin mir allerdings ziemlich sicher, daß es auch mit der Masse von Requests zu tun hat, die mein Client sendet.ich versuche das mal einzudämmen. Ein Testprojekt wird schwierig. Ich wollte nur erstmal hören, ob das ein bekanntes Thema ist, oder eher nicht. Wie es mir scheint gilt letzteres.
Danke! Sherlock |
AW: FMX: SOAP führt nicht vorhersehbar zu EInsufficientRTTI
Ich meinte auch erstmal testen mit einem freien Service:
![]() Wenn dir das weiterhilft. Damit schonmal der Client läuft. Rollo |
AW: FMX: SOAP führt nicht vorhersehbar zu EInsufficientRTTI
AFAIK nutzt SOAP unten drunter die RTTI - wäre also eine Hilfe, wenn du den Callstack anschauen/posten würdest, es gibt ca nen Duzend Stellen, die diese Exception raisen (alle samt in der System.Rtti.pas)
|
AW: FMX: SOAP führt nicht vorhersehbar zu EInsufficientRTTI
Stevie, das habe ich auch herausgefunden. Ich bin gerade dabei eine Möglichkeit zu finden, das gesamte SOPA-Objekt, also das IInvokable, neu zu registrieren.
Sherlock |
AW: FMX: SOAP führt nicht vorhersehbar zu EInsufficientRTTI
Wenn das sporadisch passiert vermute ich eher ein Problem mit Multithreading.
Die RTTI ist nicht threadsafe - beim initialen Erzeugen der RTTI Objekte kann es zu race conditions kommen. Das würde sich auch mit deiner Aussage, dass es beim App start kracht, decken. |
AW: FMX: SOAP führt nicht vorhersehbar zu EInsufficientRTTI
Zitat:
Müssen wir das als Programmierer jetzt selbst absichern? Oder macht der generierte Code das schon vernünftig? Kann man einen von Delphi generierten Soap Server unter last laufen lassen? |
AW: FMX: SOAP führt nicht vorhersehbar zu EInsufficientRTTI
RTTI ist nicht Threadsafe? Das ist natürlich ein Problem, da ich die SOAP-Aufrufe in einen Thread auslagere... Gnarf!! Unter Windows führt das aber über Tage(!!!) Nicht zu Problemen.
Jetzt muss ich mal in mich gehen. Sherlock |
AW: FMX: SOAP führt nicht vorhersehbar zu EInsufficientRTTI
Zitat:
Zitat:
Guckstu: ![]() Es gab noch andere Fehler, die aber zumindest in 10.2 gefixt sein sollten, wie z.B. ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:16 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