Ich liebe Grundsatzdiskussionen, aber wir sind anscheinend noch lange nicht fertig.
Erkläre mir mal bitte einer, was ich in diesem Fall mit dem overrride soll :
Delphi-Quellcode:
Unit Unit2;
interface
implementation
uses
Dialogs,
SysUtils;
type
TMeineKlasse =
class
private
i : integer;
protected
constructor Create;
destructor Destroy;
end;
var MeineKlasse : TMeineKlasse;
constructor TMeineKlasse.Create;
begin
i := 123;
end;
destructor TMeineKlasse.Destroy;
begin
showmessage ('
Destroy '+IntToStr (i));
end;
begin
MeineKlasse := TMeineKlasse.Create;
showmessage (IntToStr (MeineKlasse.i));
MeineKlasse.Destroy;
end.
Das Programm zeigt 2-mal '123' an, wie erwartet. Geht man dann noch hin und macht das
IMHO überflüssige Destroy und alles was damit zusammenhängt weg, dann tut es das auch.
Wer hat ein Gegenbeispiel ? Es darf aber wirklich nur als Class deklariert sein. Das TObject-Free von Jason ist auch gemogelt, es geht um Destroy. Free hat eingebaute Funktionalität. Das ist schon was anderes.