Ich empfehle dir eine abgeleitete Klasse von TObjectList:
Delphi-Quellcode:
type
TStringListList = class(TObjectList)
private
function GetStringList(index: integer): TStringList;
procedure SetStringList(index: integer; const Value: TStringList);
public
property StringList[index: integer]: TStringList read GetStringList write SetStringList; default;
end;
[...]
{ TStringListList }
function TStringListList.GetStringList(index: integer): TStringList;
begin
Result:=Items[index] as TStringList;
end;
procedure TStringListList.SetStringList(index: integer; const Value: TStringList);
begin
Items[index]:=Value;
end;
Dann kannst du dir die ständige Typumwandlung (ObjectList.Items[i] as TStringList) sparen! Und wie Christian Seehase schon erwähnte, gibt die TObjectList die in ihr gespeicherte Objekte auch selbstständig wieder frei, wenn du sie - die ObjectList -
nicht mit Create(false) angelegt hast.
//EDIT: wenn du eine TObjectList verwenden willst, musst du im USES-Abschnitt noch "Contnrs" einbinden!