Ich füge mit AddObject Objekte zu einer Stringliste hinzu:
Delphi-Quellcode:
type
TMyObj = class
Feld1: string;
Feld2: string;
Feld3: string;
end;
var
MyStringList: TStringList;
procedure TForm1.FormCreate(Sender: TObject);
begin
MyStringList := TStringList.Create;
end;
//[...]
var
i: integer;
NewMyObj: TMyObj;
begin
for i := x to y do
begin
NewMyObj := TMyObj.Create;
MyStringList.AddObject(AString, NewMyObj);
end;
//[...]
In FormDestroy wird die StringListe wieder freigegeben. Wie müssen dabei die jeweiligen Objekte freigegeben werden?:
Delphi-Quellcode:
procedure TForm1.FormDestroy(Sender: TObject);
var
i: integer;
begin
for i := 0 to MyStringList.Count - 1 do
MyStringList.Objects[i].Free; //So? Oder FreeAndNil? Oder anders?
MyStringList.Free;
end;
Oder sollte besser FreeAndNil verwendet werden? Oder etwas anderes?