Îch habe Objekte in einer Liste vom Typ TList. Jetzt soll ein Objekt aus dieser Liste gelöscht werden. Dies mache ich erstmal so:
Delphi-Quellcode:
inherited Delete(Index);
Self.Items[Index].Free;
Self.Items[Index] := nil;
Jetzt habe ich aber eine Lücke in meiner Liste, da die Reihenfolge erhalten bleiben muss, müsste ich ja jetzt alle nachfolgenden Objekte eins aufrücken lassen in der Liste. Oder sehe ich das falsch? Wenn meine Annahme richtig ist, wie mache ich das?
Mache ich es so:
Delphi-Quellcode:
for i := Index to Self.Count - 1 do
begin
Self.Items[Index] := Self.Items[Index + 1];
end;
laufe ich ja über die Anzahl der Objekte in der Liste hinaus und ich bekomme eine
AV.