Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Object aus einer TList löschen

  Alt 21. Feb 2007, 12:09
Î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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat