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?