Delphi EAccessViolation

Es geht um folgendes Programm:
Code:
procedure TForm1.btn_mintClick(Sender: TObject);
var zaehler, smallest, i, durchlauf, anzahl: integer;
    time1, time2: Integer;
begin
  time1 := gettickcount;
  anzahl := StrToInt(edt_anz.Text);
  durchlauf := 0;
  while durchlauf < anzahl do
  begin
    smallest := durchlauf;
    for i := durchlauf to anzahl do
    begin
      if zahlenfeld[smallest] >  zahlenfeld[i]then
        smallest := i;
    end;
    swap(durchlauf, smallest);
    durchlauf := durchlauf + 1;
  end;
  time2 := gettickcount;
  //lbl_time.Caption := IntToStr(time2 - time1) + 'ms';
  for zaehler := 1 to anzahl do
    grd_Ausgabe.Cells[1,zaehler] := IntToStr(Zahlenfeld[zaehler])
end;

Wenn ich die Zeile 20 nicht auskommentiere bekomme ich immer folgende Fehlermeldung:
Code:
Im Projekt 'Bubble.exe' ist eine Exception der Klasse EAccessViolation mit der Meldung 'Zugriffsverletzung bei der Adresse
 0043b2ci im Modul 'Bubble.exe'. Lesen von Adresse 00000052' aufgetreten.

Ich habe leider nicht die geringste Ahnung wieso. Hat einer eine Idee?
 
Zurück
Oben