Hi Leute,
ich habe mir eine kleine Form zum testen gebastelt, und zwar mit den Komponenten ZConnection, Zquery, DBNavigator, Datasource, DBGrid und TEdit Felder zum eingeben der Zugansdaten für den MySql-Server. Klappt eigendlich ganz Prima, nur wollte ich jetzt mal testen wie sich das Programm verhält bei einem Serverausfall. Da ist mir aufgefallen das beim anklicken des Refresh-Buttons das ganze Programm abstürzt, beim anklicken der anderen Buttons gegebenfall nur eine Fehlermeldung erscheint. Nun zu meiner Frage, wie kann ich es verhindern das das Programm abstürzt, jemand ne Idee ?
Absturz bei Refresh
-
- Beiträge: 6
- Registriert: Mi 4. Jan 2012, 14:45
- OS, Lazarus, FPC: Win7 (Lazarus 0.9.30.2 FPC 2.4.4)
- CPU-Target: 32Bit
Absturz bei Refresh
Bis dahin
Olli
Olli
Re: Absturz bei Refresh
Hast du den entsprechenden Programmteil in einen try .. except Block gepackt?
knight
knight
-
- Beiträge: 6
- Registriert: Mi 4. Jan 2012, 14:45
- OS, Lazarus, FPC: Win7 (Lazarus 0.9.30.2 FPC 2.4.4)
- CPU-Target: 32Bit
Re: Absturz bei Refresh
Hallo knight,
Genau hier in der Buttonklasse schmiert das Programm ab...

Jemand ne Idee ?
ich habe kein eigenen Programmteil von dem Button, denn der ist Bestandteil von der Komponennte TDBNavigator.knight hat geschrieben:Hast du den entsprechenden Programmteil in einen try .. except Block gepackt?
knight
Genau hier in der Buttonklasse schmiert das Programm ab...

Jemand ne Idee ?
Bis dahin
Olli
Olli
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Re: Absturz bei Refresh
Zeos ist nicht darauf vorbereitet das abzufangen. Du kannst ohne Änderung an den Komponenten nichts tun.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
- af0815
- Lazarusforum e. V.
- Beiträge: 6766
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Absturz bei Refresh
Ein Anssatzpunkt wäre, wen ich es richtig verstanden habe, die ZConnection. Die sollte es mitbekommmen wenn der Server weg ist. Wenn der Server beei einer aktiven Vebindung abschmiert, so ist klar warum alles in eine inkonsistenten Zustand kommt.
Vorschlag, die Connection mal ansehen ob die Verbindung fehlt und entsprechend reagieren. Hst du ein minimalbeispiel dazu ? Ich werde mal sehen ob ich hier ein Beispiel erzeugen kann (Bin momentan im Urlaub und habe nur eingeschränkten Zgang zu den Resourcen).
Vorschlag, die Connection mal ansehen ob die Verbindung fehlt und entsprechend reagieren. Hst du ein minimalbeispiel dazu ? Ich werde mal sehen ob ich hier ein Beispiel erzeugen kann (Bin momentan im Urlaub und habe nur eingeschränkten Zgang zu den Resourcen).
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Re: Absturz bei Refresh
ZConnection hat eine Methode Ping dmit der man schaun kann bevor man eine Abfrage startet ob der Sever noch da ist.
Bei nem refresh was ja aber komplett innerhalb der Datenbankkomponenten gehandelt wird oder aber z.b. nem Abrufen von weiteren Querrydaten u.ä. hilft das gar nichts,
Ich kenn zeos ziemlich gut wenn ich sage es ist für sowas nicht vorbereitet kann man mir das glauben.
Bei nem refresh was ja aber komplett innerhalb der Datenbankkomponenten gehandelt wird oder aber z.b. nem Abrufen von weiteren Querrydaten u.ä. hilft das gar nichts,
Ich kenn zeos ziemlich gut wenn ich sage es ist für sowas nicht vorbereitet kann man mir das glauben.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/