![]() |
Destruktor wird nicht aufgerufen
Hallo zusammen
Ich habe in meinem Programm die Klasse TTest definiert, in dieser Klasse befindet sich auch der Destruktor...
Delphi-Quellcode:
um ein Objekt des Typs TTest zu schliessen, benutze ich den Aufruf "free". Dieser sollte ja destroy aufrufen, wenn das Objekt nicht nil ist. Doch der Haltepunkt in destroy wird nie erreicht.
type
TTest = class(TObject) public constructor create(); destructor destroy(); end; Wieso wird mit free nicht destroy aufgerufen? Wieso ist das Objekt nach dem Aufruf von free nicht nil? Danke vielmals jjep |
Re: Destruktor wird nicht aufgerufen
Hi,
so sollte es klappen:
Delphi-Quellcode:
Im Destructor Inherited nicht vergessen.
type
TTest = class(TObject) public constructor create(); destructor destroy(); override; end; Gruß oki |
Re: Destruktor wird nicht aufgerufen
Eigentlich sollte der Destruktor schon aufgerufen werden. Und dass Dein Objekt anschließend nicht nil ist, liegt am Aufruf. Nimm statt Free einmal FreeAndNil.
|
Re: Destruktor wird nicht aufgerufen
Zitat:
Zitat:
Delphi-Quellcode:
FreeAndNil( <Referenz>);
|
Re: Destruktor wird nicht aufgerufen
Ja logisch override vergessen :wall:
Zitat:
Super! FreeAndNil war genau das, was ich gesucht habe!! Zitat:
:dp: Danke an Alle |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:43 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