Ich hab es jetzt umgestellt, dennoch kommt der Fehler. Aber nur wenn ich den Eintrag löschen will, welcher der letzte vorhandene ist.
Code:
procedure TForm1.Delete;
var
MakierteStelle,i: integer;
rec_p: PBusEintrag;
begin
rec_p:=Liste[ListBox1.ItemIndex];
Dispose(rec_p);
MakierteStelle:= ListbOx1.ItemIndex;
//Makierte Stelle kommt an das Ende des Arrays
while MakierteStelle<high(Liste) do begin
Liste[MakierteStelle]:=Liste[MakierteStelle+1];
MakierteStelle:=MakierteStelle+1;
end;
//Array wird um 1 verringert
setLength(Liste,Length(Liste)-1);
//Makierter Eintrag wird aus ListBox entfernt
ListBox1.DeleteSelected;
end;