Hallöle...
Im Prinzip kannst du das so machen. Ich würde aber die Schleife andersherum laufen lassen oder mit
repeat until und Delete/Free bis List.Count = 0...
Delphi-Quellcode:
procedure TImmObjects.Clear;
var
List: TList;
i: integer;
begin
List := TImmList.LockList;
try
for i := List.Count - 1 downto 0 do
begin
if Assigned(List.Item[i]) then
TImmObject(List.Item[i]).Free;
end;
List.Clear;
finally
TImmList.UnlockList;
end;
end;
...jeder wie er mag.