![]() |
Runtime Error 216 - ich krieg ihn nicht
Hallo,
seit der Umstellung auf D2010 hab ich noch an einem kleinen Problem zu knabbern - in sporadischen Abständen tritt der Runtime Error 216 auf. Bei starker Nutzung der Anwendung so 3-4 mal am Tag. Ich hab mich schon ordentlich zum Thema umgeschaut, aber keine passenden Hinweise gefunden. Auftreten tut der Fehler im Quellcodebereich TObject.Free. Aber irgendwann während der Arbeit mit der Anwendung, also NICHT erst beim Beenden, z.B. in finalization-Abschnitten oder so. Auch nicht bei bestimmten Aufrufen von irgend welchen Funktionen. Er ist nicht reproduzierbar. Also scheinbar zufällig. Sieht nach einem Threads aus. Nur mit Threads arbeite ich nicht, kommen also nur Komponenten in Frage. So, nun das Kuriose: Aktiviere ich Tools wie EurekaLog, dann tritt der Fehler nicht mehr auf. Hat jemand eine Idee, wie ich den Übeltäter sonst irgendwie dingfest machen kann? VG, Sven |
AW: Runtime Error 216 - ich krieg ihn nicht
Runtime Error 216 ist eine Access Violation. Leider kann ich dir auch nicht weiter helfen ohne etwas Code von der betreffenden Stelle.
|
AW: Runtime Error 216 - ich krieg ihn nicht
Zitat:
Wenn ich die Adresse eingebe, die angezeigt wird, springt Delphi in den ASM-Code von TObject.Free. Also schätze ich mal, das irgend wer ein Objekt freigeben möchte, welche manchmal nicht mehr da ist. Über Application.OnException kommt ich ja logischer Weiße nicht ran, da es ja keine Exception ist. Im Debugger selbst hatte ich die Fehlermeldung auch noch nicht, sodass ich evtl die Klasse herausbekommen könnte. |
AW: Runtime Error 216 - ich krieg ihn nicht
Vielleicht mal den Speichermanager tauschen? FastMM im FullDebugMode oder
![]() |
AW: Runtime Error 216 - ich krieg ihn nicht
Hast du das Programm einfach mal versucht immer im Debugger laufen zu lassen?
|
AW: Runtime Error 216 - ich krieg ihn nicht
Scheinbar schon:
Zitat:
|
AW: Runtime Error 216 - ich krieg ihn nicht
OK, Danke, ich probier erst mal SafeMM, dann FastMM.
|
AW: Runtime Error 216 - ich krieg ihn nicht
Zitat:
und da es nur selten vorkommt, wollte ich halt nur nochmal wissen, ob er es auch "öfters" dort versucht hat. :angel: |
AW: Runtime Error 216 - ich krieg ihn nicht
Ja wie gesagt, wenn ich es im Debugger laufen lassen, kommt der Fehler nie, wenn ich test ohne Debugger, hatte ich ihn schon 4-5 mal, der betreffende Kunde hat ihn 3-4 mal am Tag und der arbeitet den ganzen Tag damit. Es ist jetzt nicht so wie, klicke mal da und dann dort, dann tritt er auf, sondern er kommt (wann er will - subjektiv gemeint) und alles funktioniert auch noch weiter hin. Ist jetzt nicht so, das die Anwendung abstürzt.
Fremdkomponenten hab ich jetzt nicht wirklich exotische, VST und bisl eigenen Krempel, der aber in den Modulen, wo der Fehler auch kommt, nicht eingesetzt werden. Na ma schaun. |
AW: Runtime Error 216 - ich krieg ihn nicht
Hast du vielleicht die Komponente TApplicationEvents irgendwo mal verwendet oder wird die Unit AppEvnts irgendwo per Uses-Klausel eingebunden?
Diese Unit macht machmal seltsame Dinge... |
AW: Runtime Error 216 - ich krieg ihn nicht
AppEvnts kam zweimal vor, aber nicht in allen Modulen, wo der Fehler auch auftritt - hab sie trotzdem entfernt, wird gar nicht gebraucht.
|
AW: Runtime Error 216 - ich krieg ihn nicht
Hast Du denn die üblichen Verdächtigen Berechsprüfung I/O-Prüfung etc.
mal eingeschaltet? So wie Du es beschreibst,verläuft sich Dein Programm unterwegs irgendwo, und schreit erst um Hilfe, wenn schon alles zu spät ist. Gruß K-H |
AW: Runtime Error 216 - ich krieg ihn nicht
OK, Aktiviert, ich guck
|
AW: Runtime Error 216 - ich krieg ihn nicht
Zitat:
Wenn es daran nicht liegen sollte, bzw. der Fehler nicht gefunden wird, wie wäre es mit dem mitloggen bestimmter Bereiche zB. für <TObject>.Free ? |
AW: Runtime Error 216 - ich krieg ihn nicht
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:50 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