AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Fehlermeldung von Delphi ausschalten
Thema durchsuchen
Ansicht
Themen-Optionen

Fehlermeldung von Delphi ausschalten

Ein Thema von Mescal · begonnen am 27. Mär 2010 · letzter Beitrag vom 28. Mär 2010
Antwort Antwort
Mescal

Registriert seit: 15. Jul 2009
28 Beiträge
 
Delphi 2009 Enterprise
 
#1

Fehlermeldung von Delphi ausschalten

  Alt 27. Mär 2010, 00:11
Datenbank: Interbase • Version: 9 • Zugriff über: ODBC
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.
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#2

Re: Fehlermeldung von Delphi ausschalten

  Alt 27. Mär 2010, 01:28
Zitat von Mescal:
(Prüfe ob der Wert zwischen 10000 und 99999 liegt)
Ich wohne in 06375... Das solltest du nochmal überdenken.

Edit:// Argh, ist das peinlich. Das ist ja meine Telefon Vorwahl.
*ganz tief im Boden versink*

Dennoch solltest du dir diesen Artikel anschauen.

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
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#3

Re: Fehlermeldung von Delphi ausschalten

  Alt 27. Mär 2010, 06:58
guten Morgen...

ich schätze mal, daß das Ereignis OnPostError nicht das try / except ersetzt 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.

  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Fehlermeldung von Delphi ausschalten

  Alt 27. Mär 2010, 07:49
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,
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Fehlermeldung von Delphi ausschalten

  Alt 27. Mär 2010, 08:06
Hallo,

trotzdem würde ich es auch so machen,
also vorher auch schon prüfen.

Zu der Exception.

Delphi-Quellcode:
try
  // ExecSQL;
except
  on E: DBEngineError do
  begin
    if E.DBErrorCode // selber mal bei DBEngineError sehen, was es so gibt
  end;
end;
Hier ein Ansatz (per BDE)

1


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#6

Re: Fehlermeldung von Delphi ausschalten

  Alt 27. Mär 2010, 16:29
Hallo...
Zitat:
trotzdem würde ich es auch so machen,
also vorher auch schon prüfen.
...selbstverständlich gehören Blödsinnseingaben vorher abgefangen. Das stand aber nicht zur Diskussion
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#7

Re: Fehlermeldung von Delphi ausschalten

  Alt 27. Mär 2010, 17:09
Zitat von Mescal:
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.
Nach dem Anzeigen der eigenen Fehlermeldung einfach Abort aufrufen - das ist eine sogenannte 'stille Exception', dadurch wird OnPostError ohne weitere Fehlermeldung verlassen.
Michael Justin
  Mit Zitat antworten Zitat
Mescal

Registriert seit: 15. Jul 2009
28 Beiträge
 
Delphi 2009 Enterprise
 
#8

Re: Fehlermeldung von Delphi ausschalten

  Alt 28. Mär 2010, 14:11
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:07 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