Hallo,
ich habe ein kleines Problem, ich möchte ein wenig mehr Anwendersicherheit in mein Programm bekommen,
so dass mein Programm möglichst viele 'Ausnahmesituationen' meistern kann
Folgendes Konstrukt habe ich:
Delphi-Quellcode:
try
Self.Enabled:=False;
for I := 1 to 64 do
begin
if aktSitzung.connected = false then begin exit; end; // Hier habe ich ein exit!!!
Get_ProduktOffset(aktPOffset,i);
Get_AlarmHH(aktAlarmHH,i);
Get_AlarmH(aktAlarmH,i);
Get_AlarmL(aktAlarmL,i);
Get_AlarmLL(aktAlarmLL,i);
JvStringGrid1.Cells[1,i]:=FloatToStrF(aktPOffset,ffFixed,4,2);
JvStringGrid1.Cells[2,i]:=FloatToStrF(aktAlarmHH,ffFixed,4,2);
JvStringGrid1.Cells[3,i]:=FloatToStrF(aktAlarmH,ffFixed,4,2);
JvStringGrid1.Cells[4,i]:=FloatToStrF(aktAlarmL,ffFixed,4,2);
JvStringGrid1.Cells[5,i]:=FloatToStrF(aktAlarmLL,ffFixed,4,2);
JvProgressBar1.StepBy(1);
Application.ProcessMessages;
end;
finally
Self.Enabled:=True;
end;
Ich hole mir 64 Datensätze aus einem Gerät und sperre vorher mein Formular, damit der Benutzer nicht wild herumklicken kann (weis das ist die Hammerschlag Methode (werde mir auch noch was anderes einfallen lassen) aber so probier ich es ersteinmal).
Dann könnte evtl. die Verbindung abbrechen, dann will ich dass er sofort den Finally block ausführt!!!
Ich prüfe ja oben ob noch eine Verbindung besteht, falls nein springe ich raus aus der Routine, aber dann wird ja mein
Finally Block nicht ausgeführt, oder ?????
Danke für eure Antworten