Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Wie verhindern das ZeosDBO ein Fehlermeldungsfenster anzeigt (https://www.delphipraxis.net/41139-wie-verhindern-das-zeosdbo-ein-fehlermeldungsfenster-anzeigt.html)

frank a 26. Feb 2005 17:23

Datenbank: MySQL • Version: 3.23 • Zugriff über: ZeosDBO 6.1.5

Wie verhindern das ZeosDBO ein Fehlermeldungsfenster anzeigt
 
Hallo,

ich bin von Delphi 5 auf 7 umgestiegen, und im Zuge dessen
von ZeosDBO 5.4 auf 6.1.5
Um eine Programmunterbrechung durch ein sich öffnendes
Fehlermeldungsfenster (z.B. weil die Datenbank vorrübergehend
nicht erreichbar ist) zu verhindern, benutzte ich bisher den
folgenden try-except-Block:

try
dbMain.Connected:= True; //versucht Verbindung herzustellen
Label1.Caption:= 'verbunden';
except
on E:EDatabaseError do
begin
Label1.Caption:= 'z.Z. nicht verbunden';
end;
end;

Dies zeigt aber bei ZeosDBO 6.1.5 keinerlei Wirkung mehr.
Es popt sofort ein Meldungsfenster "SQL Error: Can't connect to
MySQL server on 'localhost' (10061)" auf, und das Programm steht
(bis halt jemand auf OK klickt, aber das Programm soll ja
unbeaufsichtigt laufen).
Wie kann ich dies auch unter ZeosDBO 6.1.5 wieder verhindern ?

Vielen Dank für Eure Antworten.
Frank

lume96 26. Feb 2005 17:46

Re: Wie verhindern das ZeosDBO ein Fehlermeldungsfenster anz
 
Moin,

herzlich Wilkommen in der DP.

Zum Problem : Du fängst den falschen Fehler ab. Bei ZEOS heissen die, glaub ich, EZ???ERROR.

Oder aber Du fängst mit E: Exception alles ab.

Tschüss,
Lutz

frank a 26. Feb 2005 18:55

Re: Wie verhindern das ZeosDBO ein Fehlermeldungsfenster anz
 
Hi Lutz,

im Debug-Modus kommt der Hinweis ...Exception in der Klasse EZSQLException aufgetreten...
deshalb habe ich es mal mit "on E: EZSQLException do..." und mit "on E: EZSQLError do..."
probiert, bei beiden --> Fehler "Undefinierter Bezeichner".
Muß man da noch irgend was einbinden?
Ich kenne mich mit dem Abfangen von Fehlermeldungen nicht so aus.
Bei der Variante "on E: Exception do..." wird zwar die Anweisung hinter do... ausgeführt,
aber das Fehlermeldungsfenster wird trotzdem angezeigt und unterbricht damit das Programm.

Vielleicht fällt Euch ja noch eine Lösung ein.
Frank

PS: Ich hab natürlich auch schon bei www.zeoslib.net nachgeschaut. Soweit mein bisschen
Englisch reich, haben dort einige ähnliche Fragen, aber noch keine bzw. keine
brauchbaren Antworten bekommen.

TheMiller 26. Feb 2005 19:03

Re: Wie verhindern das ZeosDBO ein Fehlermeldungsfenster anz
 
Hi,

füge doch einfach sowas ein:

Delphi-Quellcode:
try
  ...
  ...
  except
  //no-op
  end;
  end;

Robert_G 26. Feb 2005 19:06

Re: Wie verhindern das ZeosDBO ein Fehlermeldungsfenster anz
 
Oder einfach Delphi sagen, dass du den Exceptiontyp nicht im Debugger um die Ohren geschmissen bekommen willst. ;)

frank a 26. Feb 2005 19:52

Re: Wie verhindern das ZeosDBO ein Fehlermeldungsfenster anz
 
Hi Leute,

beim Sichten einiger News-Beiträge ist mit aufgefallen, das bei einigen Code-Bsp. der
Befehl exit; nach except auftaucht. Das habe ich mal ausprobiert, und siehe da es
klappt. Es popt nun kein Fehlermeldungsfenster mehr auf, das Programm läuft weiter.
Mein Bsp.-Code:
Delphi-Quellcode:
  try
    dbMain.Connected:= True; //versucht Verbindung herzustellen
    Label1.Caption:= 'verbunden';
  except
    Label1.Caption:= 'z.Z. nicht verbunden';
    exit;
  end;
Wenn ich die Sache mit der Fehlerbehandlung richtig verstanden habe, dürften hier
nur die Fehler abgefangen (und die entspr. Meldungen unterdrückt) werden die bei den
Befehlen zwischen try und except entstehen können, also z.B. keine Vernindung mit
der Datenbank möglich ?

Frank

[edit=Sharky]Delphi-Tags eingefügt. Mfg, Sharky[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz