Einzelnen Beitrag anzeigen

Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#12

Re: TObjectList prüfen ob Index exitstiert

  Alt 13. Mai 2006, 17:54
TObjectList laesst keine Luecken zu, glaub mir. Machen wir mal so was:

Delphi-Quellcode:
var
  MyList: TObjectList;
  MyObject: TObject;
begin
  MyList := TObjectList.Create();
  MyList.Add(TObject.Create());
  MyList.Add(TObject.Create());
  MyList.Add(TObject.Create());
  MyList.Add(TObject.Create());
  MyList.Add(TObject.Create());
  
  // Nun setzen wir das Element mit dem Index 1 auf NIL
  MyList.Items[1] := nil;
  
  // Und jetzt sehen wir uns mal den Inhalt davon an:
  MyObject := MyList.Items[1];
  
  MyList.Free();
end;
Und, kommt beim Zugriff auf MyList.Items[1] eine AV? Nein: Das Element mit dem Index 1 existiert; es ist aber 0. Das heisst, dass dort keine Luecke ist, es steht nur eben Schwachsinn in der Liste. Du kannst Elemente, die nil sind, als Luecken betrachten, es sind aber nicht wirklich Luecken, schliesslich kannst du auch direkt aufs Element zugreifen. Wenn der Index nicht existieren wuerde, dann waers ne Luecke, aber so nicht

Das ist jetzt allerdings Wortklauberei

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat