Zugriffsverletzung bei Programmende währen Eventhandler



  • Hi,

    ich hab ein merkwürdiges Problem. Ich verwende eine Datenbankverbindung in meinem Form. Wird diese geöffnet (AfterConnect), gebe ich sie an die Unterframes über eine SetConnection(Connection *Conn) Routine weiter. In dieser Routine werden nun alle Objekte, die diese Verbindung verwenden wollen, zunächst getrennt, bekommen die Verbindung zugewiesen und wieder geöffnet, sofern die Verbindung gültig ist (!= NULL).
    Beim Schließen (BeforeDisconnect) tue ich das gleiche, übergebe aber NULL an die Frames, damit diese zurückgesetzt werden.
    Beende ich das Programm per X, bekomme ich eine Zugriffsverletzungs-Exception in der SetConnection-Routine. Per Breakpoint habe ich herausbekommen, dass ich über den BeforeDisconnect Eventhandler in meine Routine komme. Dort sehe ich, dass "this->" nicht mehr definiert ist. Wie kann denn das sein? Die Routine wurde doch noch aufgerufen?
    Und vor allem: wie bekomme ich den Fehler weg? Ein Fortsetzen nach der Exception ist nicht möglich, da die Exception sofort wieder erscheint.



  • Hm, sieht so aus, als hättest du dir dein Formular zerschossen bevor du den Eventhandler abgemeldet hast. Mach mal eine Debug Ausgabe in den Destruktor des Formulars um zu prüfen, ob das der Fall sein kann.


Anmelden zum Antworten