![]() |
Datenbank: Interbase • Version: 9 • Zugriff über: ODBC
Fehlermeldung von Delphi ausschalten
Hallo, habe mal eine Frage, zum Thema Fehlerdialog abfangen und mit eigenen Text versehen.
Ich habe mir eine Datenbankanwendung mit Interbase geschrieben. Habe eine Tabelle mit einer Spalte Postleitzahl. Die auf eine richtige Angabe geprüft wird. (Prüfe ob der Wert zwischen 10000 und 99999 liegt) Wenn ich jetzt einen falschen Wert eintrage, kommt es ja logischerweise zu einer Fehlermeldung. Die Fehlermeldung die Ausgegeben wird, heißt (Operation violates Check constraint INTEG_40 on view or Table Postleitzahl). Der Anwender, der dann damit arbeiten soll, wird mit der Fehlermeldung aber nichts anfangen können. Deshalb hätte ich lieber meine eigene Message. Ich habe beim Tool „TIBDataSet“ unter dem Ereigniss „OnPostError“ folgenden Quelltext rein geschrieben. „{$i-} ShowMessage('Postleitzahl muss einen Wert zwischen 10000 und 99999 haben!')“ So, dann wird mir zwar, zuerst meine Message angezeigt, aber danach kommt wieder die Delphi Fehlermeldung. Wie kann ich die, den ausschalten? Kann mir da bitte jemand helfen. Danke schon mal für die Mühe. |
Re: Fehlermeldung von Delphi ausschalten
Zitat:
Edit:// Argh, ist das peinlich. Das ist ja meine Telefon Vorwahl. :oops: *ganz tief im Boden versink* Dennoch solltest du dir ![]() Edit 2://[b] Okay, ich habe noch mal genauer nachgeforscht. Und so ganz peinlich war die Aktion gar nicht. *g* Ich selbst tauge als Beispiel zwar nicht, aber wenn man sich die Postleitzahl von Dresden anschaut, dann merkt man, dass das Prinzip das gleiche ist :-) Liebe Grüße, Valle |
Re: Fehlermeldung von Delphi ausschalten
guten Morgen...
ich schätze mal, daß das Ereignis OnPostError nicht das try / except ersetzt :zwinker: Du kriegst zwar deine Meldung und dann kommt die vom System ganz normal. Setze deine Meldung in einen try / except Block deiner Post Routine und es kommt nur noch deine Meldung. :hi: |
Re: Fehlermeldung von Delphi ausschalten
Hi,
im OnBeforePost Event würde ich den Fehler vermeiden indem ich dort den Wert prüfe und bei Verletzung der Grenzen mit ShowMessage(' .... '); Feld.FocusControl; Abort; den Benutzer informieren. (auch wenn dadurch die Logik in DB und Client doppelt liegen würde) Cheers, |
Re: Fehlermeldung von Delphi ausschalten
Hallo,
trotzdem würde ich es auch so machen, also vorher auch schon prüfen. Zu der Exception.
Delphi-Quellcode:
Hier ein Ansatz (per BDE)
try
// ExecSQL; except on E: DBEngineError do begin if E.DBErrorCode // selber mal bei DBEngineError sehen, was es so gibt end; end; ![]() Heiko |
Re: Fehlermeldung von Delphi ausschalten
Hallo...
Zitat:
|
Re: Fehlermeldung von Delphi ausschalten
Zitat:
|
Re: Fehlermeldung von Delphi ausschalten
Vielen dank für die Antworten. Ihr habt mir alle sehr weitergeholfen und es geht jetzt mit der eigenen Fehlermeldung.
Danke noch mal und eine Gute Zeit. :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz