So, ich habe die eine Schleife rausgeworfen, aber immernoch "list index out of bounds"...
Irgendwie fühle ich mich gerade ziemlich dumm
Delphi-Quellcode:
procedure TForm1.ButtonEntfernenClick(Sender: TObject);
//Button entfernt markierte Einträge aus der Liste
var ii, zaehler: integer;
letzter : integer;
begin
if ListBoxAnzeige.Count<>0
then
begin
z:=Wurzel;
zaehler:=0;
while z<>
nil do
begin //Schleife, die Änderung in die Zeigerstruktur übernimmt
if ListboxAnzeige.Selected[zaehler]
then
begin
z^.naechster:=z^.naechster.naechster;
Dispose(z);
end;
z := z^.naechster;
inc(Zaehler);
end;
ButtonAnzeigenClick(Sender);
//Neue Liste anzeigen
letzter:=ii;
if ListBoxAnzeige.Count<=letzter
then dec(letzter);
//Eintrag an der Stelle der letzten Löschung wird markiert
ListBoxAnzeige.Selected[letzter]:=true;
end;
end;