Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Eigene Fehlerbehandlungsroutine in Zeos (https://www.delphipraxis.net/45131-eigene-fehlerbehandlungsroutine-zeos.html)

hsbc 30. Apr 2005 10:42

Datenbank: Firebird • Version: 1.5.2 • Zugriff über: Delphi 7 Professional + Zeos-Lib.

Eigene Fehlerbehandlungsroutine in Zeos
 
Hallo allerseits,

Da mir die englischen Fehlermeldungen von Zeos(Firebird) nicht gefallen, möchte ich eine eigene Fehlerbehandlung in mein Programm integrieren. Jedoch - wie komme ich an die Fehler-Nummern heran. Ich kann zwar mit try-except z.B. feststellen, dass eine Verbindung zur DB erfolgreich oder erfolglos war, ich kann aber keine exakte Ursache eines erfolglosen Connects bestimmen.

Genauso ist es bei anderen Fehlermeldungen, wie z.B. "keine Berechtigung", etc.

Gibt es eine Möglichkeit, den verursachten Fehler etwa anhand einer zurückgegebenen Fehlernummer genauer zu bestimmen?

mfg
Herbert

MagicAndre1981 30. Apr 2005 11:57

Re: Eigene Fehlerbehandlungsroutine in Zeos
 
Also bei IBX sieht das in etwa so aus:

Nutze die ApplicationEvents Komponente und dort gibt es das Event OnException.

Dort kannst du dir den ErrorCode besorgen und dann schreibst du dir für jeden Fehler eine Behandlung .

So in etwa sieht das bei IBX aus. Keine Garantie, da ich es nicht getestet habe, sondern aus dem Kopf schreibe.
Delphi-Quellcode:
var IBError : Boolean;
    ErrorCode : integer;

IBError := E is EIBError;

if IBError then
Begin
ErrorCode := EIBError(e).IBErrorCode
End;
Und dann kannst du anhand des Errorcodes eine Fehlerbehandlung machen. Die Liste stand mal in einem Interbase 5.x Buch. Ich weiß aber nicht mehr wie der Titel war.

André

Domo Sokrat 3. Mai 2005 13:07

Re: Eigene Fehlerbehandlungsroutine in Zeos
 
Hi hsbc,

wenn es Dir lediglich um die deutschen Fehlertexte geht, dann kannst Du ja die in der ZMessages.pas definierten Strings entsprechend übersetzen oder eine eigene Sektion für die deutschen Meldungen einfügen ({$IFDEF GERMAN} ... {$ENDIF} -> Nicht vergessen dann in der ZEOS.inc, die {$DEFINE GERMAN} statt {$DEFINE ENGLISH} anzugegen!). Und: Neu Kompilieren nicht vergessen :cool:

Momentan wird für die ZEOS Version 6.5.1 ff. an einer Übersetzung gearbeitet.

hsbc 3. Mai 2005 14:05

Re: Eigene Fehlerbehandlungsroutine in Zeos
 
Hi Domo Sokrat,

ja danke für den Tip.

Sehr erfreulich zu hören, dass an einer Übersetzung gearbeitet wird, zumal ich ZEOS von Tag zu Tag mehr liebe. Ich muss schon mal meine Hochachtung an die Entwickler von ZEOS aussprechen, es sind momentan die tollsten Komponenten für DBMS unter Delphi. Was meine Applikation betrifft, werde ich wohl auf die deutsche Übersetzung warten.

mfg
Herbert

Domo Sokrat 3. Mai 2005 16:48

Re: Eigene Fehlerbehandlungsroutine in Zeos
 
Hi Herbert,

Zitat:

Zitat von hsbc
Sehr erfreulich zu hören, dass an einer Übersetzung gearbeitet wird,

Wir tun unser Bestes, damit's voran in Richtung der nächsten Stable geht ... *schwitz*

Zitat:

Zitat von hsbc
... zumal ich ZEOS von Tag zu Tag mehr liebe. Ich muss schon mal meine Hochachtung an die Entwickler von ZEOS aussprechen, es sind momentan die tollsten Komponenten für DBMS unter Delphi.

Vielen Dank für die Blumen :thumb: Geht runter wie Öl :cool:

Stevie 3. Mai 2005 17:34

Re: Eigene Fehlerbehandlungsroutine in Zeos
 
Zitat:

Zitat von hsbc
es sind momentan die tollsten Komponenten für DBMS unter Delphi.

Danke! :love: Hoffentlich bekommst du jetzt keine Schläge von Robert_G! :twisted: :duck:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:58 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