Moin Raddi,
erst einmal herzlich willkommen hier in der Delphi-PRAXiS.
Was mir als erstes Aufgefallen ist:
Delphi-Quellcode:
SetLength(kaufband,bI+1); //bI ist eine Konstante
for i:=1 to bI do begin
kaufband[i]:=false;
end;
Da ein dynamisches Array immer mit dem Index 0 beginnt, wird das erste Element nicht initialisiert.
Als nächstes solltes Du erst einmal herausbekommen, wo die
AV auftritt, dies wohl am besten, indem Du mal im Einzelschritt durch die verdächtigen Abschnitte gehst. (F5=Breakpoint, F7=Einzelschritt, F8=Einzelschritt bei dem Prozeduren/Funktionen am Stück abgearbeitet werden).
Übrigens könnte H nach der for-Schleife einen beliebigen Wert enthalten, oder nimmst Du an, dass h <> H ist?
Gross-/Kleinschreibung wird in Delphi nicht unterschieden.