Hallo,
ich habe folgendes Problem:
Ich benutze LazReport um meine Reports darzustellen.
Als Datenbank wird MSAccess Datenbank über ODBC mit SQLDB benutzt.
In meinem Programm gebe ich dem Anwender die Möglichkeit die Reports inklusive der SQL Abfrage selbst zu erstellen / ändern.
Jetzt kann es natürlich vorkommen, das ein Report geändert wird und ein Feld in der SQL Abfrage nicht vorhanden ist, oder umgekehrt.
Beim Aufrufen des Reports in dem Programm, stürtzt das ganze Programm aufgrund von fehlenden Feldern ab.
Wie kann ich den Absturz verhindern, bzw. den Fehler abfangen?
Ich hoffe ich habe mich verständlich ausgedrückt.
Gruß und danke.
LazReport Fehler abfangen [gelöst]
-
- Beiträge: 99
- Registriert: Do 23. Dez 2010, 19:10
- OS, Lazarus, FPC: Windows 10/11 32/64bit, L 3.2.0 32/64bit, FPC 3.2.2 32/64bit
LazReport Fehler abfangen [gelöst]
Zuletzt geändert von VB_Lazarus am Fr 18. Jan 2019, 20:15, insgesamt 1-mal geändert.
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1639
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: LazReport Fehler abfangen
Als erstes musst du möglichst genau die Stelle finden wo es kracht.
Dann kannst du diese in einen try except Block packen.
Dann stürzt zumindest das Programm nicht mehr ab.
Dann kannst du diese in einen try except Block packen.
Code: Alles auswählen
try
Aufruf_der_Funktion_wo_es_kracht();
except
ON E:Exception do
begin
MessageDlg(Format('Bei der Erstellung des Reports ist ein Fehler aufgetreten: Meldung: %s Klasse: %s', [e.Message, e.classname]), mtError, [mbOk], 0);
end;
end;
-
- Beiträge: 99
- Registriert: Do 23. Dez 2010, 19:10
- OS, Lazarus, FPC: Windows 10/11 32/64bit, L 3.2.0 32/64bit, FPC 3.2.2 32/64bit
Re: LazReport Fehler abfangen
Danke. Vor lauter Bäume den Wald nicht gesehen.
War mein Fehler.
Ich habe den try Block verkehrt gesetzt.
Deswegen ist der Fehler nicht abgefangen worden.
War mein Fehler.
Ich habe den try Block verkehrt gesetzt.
Deswegen ist der Fehler nicht abgefangen worden.