Hallo Lucky,
1. Es ist erforderlich, den Ressourceschutzblock einzubinden, um das Object TTest in jedem Fall wieder freizugeben.
2. Ich wiederrufe meine Aussage, das Klassen, die von TObject abgeleitet wurden, automatisch den Destructor von TObject aufrufen. Nach
finally
muss das Object
TTest
mit
TTest.free
freigegeben werden. Habs mal getestet.
3. Must Du selbst entscheiden
4. Aufgrund unsauberer Recherchen ist mir der Fehler zu Punkt 2 passiert. Man sollte sich eben nicht immer auf Aussagen anderer berufen, ohne dies selbst überprüft zu haben. In Zukunft werde ich sauberer arbeiten.
So muß es wirklich aussehen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Test: TTest;
begin
Test:=TTest.Create; // <- Hier werden die Defaults gesetzt
try
Memo1.Lines.Clear;
Memo1.Lines.Add('VarString:='+Test.fString);
Memo1.Lines.Add('VarInteger:='+inttostr(Test.fInteger));
Memo1.Lines.Add('VarBoolean:='+BoolToStr(Test.fBoolean, True));
finally
Test.free;
end;
end;
Gruß, Tom