Einzelnen Beitrag anzeigen

uht

Registriert seit: 3. Dez 2005
46 Beiträge
 
Delphi 2005 Personal
 
#1

Eintrag von array of Klasse löschen

  Alt 5. Apr 2007, 14:59
Hallo,

folgendes Szenario:
Ich habe mir eine Klasse TStrList erstellt, diese stellt eine Tabelle aus Stringwerten dar.
In meiner Anwendung benutze ich nun ein array of TStrList. Nun will ich einen Eintrag aus diesem array of TStrList löschen.
Das hier,

Delphi-Quellcode:
var KomListe: array of TStrList;

...

for k:= index to length(KomListe)-2 do // schiebt alle Datensätze hinter dem Gelöschten um eins nach vorne
  KomListe[k]:= KomListe[k+1];

KomListe[length(KomListe)-1].Free; // gibt die letzte Position frei
setlength(KomListe,length(KomListe)-1); // verkürzt das array um 1
klappt nicht ganz, weil ich beim nächsten Zugriff auf die verschobenen Elemente einen Zugriffsfehler bekomme. Mir erscheint dieser Zugriffsfehler auch logisch, aber wie stelle ich das richtig an?
  Mit Zitat antworten Zitat