ich glaub du verstehst das prinzip noch nicht ganz
Wenn du Object.Create aufrufst wird für das Object der speicher angefordert und wenn du
liste:=TStringList.Create;
schreibst so ist "liste" nichts anderes als ein Pointer auf den angeforderten Speicher.
Wenn du das also in einer For schleife machst wird auch immer wieder speicher angefordert nur dein problem ist derzeit das du die Pointer auf den reservierten Speicher bei dem nächsten Schleifendurchlauf wieder überschreibst. Und da kommen dann Listen zum einsatz
Delphi-Quellcode:
[...]
LStringlistList: TList; //Die Liste mit Pointern
[...]
var LStringlist: TStringList;
LCount: Integer;
begin
for LCount := 0 to 4 do
begin
LStringlist := TStringList.Create;
LStringlistList.Add(LStringList); //Den Pointer auf die gerade erstellte Instanz in die Liste adden
end;
end;