Moin zusammen,
ich bin kurz vorm Verzweifeln wegen folgendem Problem:
Wenn ich mein Programm (gebastelt mit Delphi 7) beende, dann gibts eine EAccessViolation
Exception. Auslöser ist wohl eines meiner Formulare, da die
Exception nur dann geworfen wird, wenn ein bestimmtes Formular vorher offen war. Dummerweise finde ich aber den Punkt, an dem es tatsächlich knallt nicht, da dies erst in irgendeinem finalization-Abschnitt einer nicht zum Projekt gehörenden
Unit passiert. D.h. ich bin danach auch nicht im Debug-Modus, sondern das Programm wird direkt zurückgesetzt und ich kann mir den Aufruf Stack nicht mehr ansehen.
Um das Problem einzukreisen habe ich zunächst MemCheck versucht, aber Überraschung: wenn MemCheck im Projekt ist, tritt der Fehler überhaupt nicht mehr auf!
Ok, MemCheck raus und FastMM rein und ich bekomme folgendes:
Zitat:
FastMM has detected an attempt to use an interface of a freed object. An
access violation will now be raised in order to abort the current operation.
The current thread ID is 0x254, and the stack trace (return addresses) leading to this error is:
406C67 [system.pas][System][@IntfClear][17033]
432839 [classes.pas][Classes][TComponent.DestroyComponents][9853]
4B7FFB [Forms.pas][Forms][DoneApplication][1348]
404B32 [system.pas][System][@Halt0][11357]
Mir ist leider nicht so ganz klar, wie mir das beim Finden des Fehlers weiterhelfen kann, da ich in dem betreffenden Formular keine direkten Bezüge zu diesen Units habe. Auch die Tatsache, dass der Fehler mit MemCheck gar nicht erst auftritt, macht die Sache nicht eindeutiger. Hat jemand einen Tipp für mich, mit welchen Schritten ich an die Suche fortsetzen kann?
VG, Daniel