Thema: Delphi Zugriffsverletzung

Einzelnen Beitrag anzeigen

Koller

Registriert seit: 22. Mär 2005
59 Beiträge
 
#3

Re: Zugriffsverletzung

  Alt 10. Jun 2006, 12:14
Ich habe mal den Debugger benutzt. Mit F7 gehe ich Zeile für Zeile durch. Der Debugger springt in die markierte Zeile und danach wird der Fehler ausgelöst.

Delphi-Quellcode:
procedure TMarkFile.DeleteSubject(Sender : TObject);
var row,i,i2:integer;
begin
  row:=(Sender as TButton).Tag;
  if row=High(FEingabeArray) then
  begin
    for i2 := 1 to 5 do
    begin
      FreeAndNil(FEingabeArray[row].array_edit[i2]);
    end;
    FreeAndNil(FEingabeArray[row].button_loeschen);
    FreeAndNil(FEingabeArray[row].Combobox_fach);
  end else
  begin
    for i := row to High(FEingabeArray)-1 do
    begin
      for i2 := 1 to 5 do
      begin
        FEingabeArray[i].array_edit[i2].text:=FEingabeArray[i+1].array_edit[i2].Text;
      end;
      FEingabeArray[i].button_loeschen.Tag:=FEingabeArray[i+1].button_loeschen.Tag;
      FEingabeArray[i].Combobox_fach.Text:=FEingabeArray[i+1].Combobox_fach.Text;
    end;
      FreeAndNil(FEingabeArray[High(FEingabeArray)].button_loeschen);
      FreeAndNil(FEingabeArray[High(FEingabeArray)].Combobox_fach);
      for i2 := 1 to 5 do
      begin
        FreeAndNil(FEingabeArray[High(FEingabeArray)].array_edit[i2]);
      end;
  end;
  SetLength(FEingabeArray,Length(FEingabeArray)-1);
  UpdateSubjects;
end;//hier nach end; wird der Fehler ausgelöst. Danach kommt nichts mehr.
  Mit Zitat antworten Zitat