Autor Beitrag
SchwinneZ
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 31.05.07 18:42 
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.

ausblenden 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...