Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Fehler nach/beim Programm beenden (https://www.delphipraxis.net/156740-fehler-nach-beim-programm-beenden.html)

FriendOfDelphi 13. Dez 2010 14:31

Delphi-Version: 5

Fehler nach/beim Programm beenden
 
Hallo Allerseits,

ich habe folgendes Problem:

Der Compiler meldet keinen Fehler.
Das Programm läuft fehlerfrei und macht alles das, was es soll.
Beende ich das Programm, erhalte ich nach dem
Delphi-Quellcode:
end;
im Destruktor folgende Fehlermeldung: "access violation at 0x66103970: read of address 0xfeeefef2". Gleichzeitig wird das CPU-Fenster des Compilers geöffnet.
Delphi-Quellcode:
destructor TMeineKlasse.Destroy;
begin
  AdsClose();
  inherited Destroy; //inherited ruft die gleichnamige Methode der Vorfahrklasse auf
end;
Hat jemand eine Idee, wie ich dem Fehler auf die Spur komme?

s.h.a.r.k 13. Dez 2010 14:33

AW: Fehler nach/beim Programm beenden
 
Ich würde behaupten, dass irgendwo am Ende auf ein Objekt zugegriffen werden soll, welches schon freigegeben wurde. Ob das nun direkt in dem Destruktor der Fall ist, kann ich dir nicht unbedingt sagen. Geh mal mit F7 das Beenden des Programms durch.

FriendOfDelphi 13. Dez 2010 14:48

AW: Fehler nach/beim Programm beenden
 
Zitat:

Zitat von s.h.a.r.k (Beitrag 1068267)
Ich würde behaupten, dass irgendwo am Ende auf ein Objekt zugegriffen werden soll, welches schon freigegeben wurde. Ob das nun direkt in dem Destruktor der Fall ist, kann ich dir nicht unbedingt sagen. Geh mal mit F7 das Beenden des Programms durch.

Ich kann leider nicht alles mit F7 durchsteppen, da ich 2 externe DCUs verwende. Alerdings geben die einen Fehlerstatus nach Abarbeitung der jeweiligen Prozedur zurück. Der ist immer 0, was "kein Fehler" bedeutet.
Wenn ich jedoch die Zeile mit dem
Delphi-Quellcode:
end;
im Destruktor ausführe, erhalte ich die obige Fehlermeldung (mit F8), oder es öffnet sich direkt das CPU-Fenster des Compilers (mit F7).

semo 16. Dez 2010 08:11

AW: Fehler nach/beim Programm beenden
 
Bitte erstelle deine Anwendung mit dem DEBUG-Schalter und füge den folgenden Code ein:
Code:
     
  {$IFDEF DEBUG}
  ReportMemoryLeaksOnShutdown := True;
  {$ENDIF}

  Application.Initialize;


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:18 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