Hallo Leute,
habe folgendes Problem:
Ich habe mich nur kurz in die BDE eingearbeitet und im Laufe der Zeit mehrmals den Fehler bemerkt das nach einem Fehler
der über try.. except übergangen wurde die Tabelle sozusagen einfriert und man nicht mehr über das DBGrid daraufzugreifen kann.
Bis jetzt konnt ich den Fehler dann immer irgendwie anders übergehen doch bei diesem Programm scheint es mir fast unmöglich (außer ich würde mehrere Stunden zusätzliche Programmierarbeit aufwenden) diesen Fehler zu umgehen.
Habe hier mal ein Teil des Programms ausgeschnitten.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29:
| procedure TForm1.Gesamtranking; var rang, i: integer; Zeit: TDatetime; re: Boolean; begin
Rang:=0; i:=0; Table1.First; Table1.DisableControls; while not Table1.Eof do begin Zeit:= Table1['Zeit']; i:=i+1; while not Table1.Eof do begin if Zeit >= Table1['Zeit'] then Rang := Rang+1; Table1.Next;
end; Table1.First; Table1.MoveBy(i-1); Table1.Edit; try Table1['rang'] := Rang; except Re:= True; end; Table1.Next; end; if re = True then Gesamtranking; end; |
In diesem Fall kommt der Fehler, welcher mit try... except behandelt wurde genau einmal bei Ausführen der procedure vor.
Was kann ich machen das mir nicht mein DBGrid einfriert?
Hoffe ihr könnt mir helfen.
Edit:
Nach weiterem rumprobieren hab ich festgestellt das der Fehler scheinbar nicht an der Exception liegt... er muss aber trotzdem in dieser procedure sein...