![]() |
Eigene Fehlercodes
Es gibt ja in der API die Fehlercodes und die passenden Konstanten dazu.
Beispiel: INVALID_HANDLE_VALUE = 1 ERROR_FILE_NOT_FOUND = 2 1 und 2 sind nur hypothetische Werte. So jetzt würde ich gerne eigene Fehlercodes definieren. Nur wo hören die von Windows auf? Ich will natürlich nicht mit den von Windows in Konflikt kommen. MY_ERROR = 1 wäre etwas schlecht. |
Re: Eigene Fehlercodes
Luckie, wofür hast du das PSDK? :zwinker:
Schau dir mal darin diese Seite an: ms-help://MS.PSDK.1033/debug/base/system_error_codes.htm |
Re: Eigene Fehlercodes
Hm, ja klar. Aber so ganz trivial ist das nicht. Die hören da bei 14080 auf. Wenn ich mir jetzt 14081 definiere, wer sagt mir dass im nächsten ServicePack nicht MS genau diesen Code auh selber belegt hat? Du verstehst?
Ein Fehlercode ist eine 32 Bit Zahl, die in vier Felder unterteilt ist und zwar wie folgt:
Code:
Ist Bit 29 Null ist es ein MS ErrorCode, ist es eins ein ErrorCode vom Kunden.
//
// Values are 32 bit values layed out as follows: // // 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 // 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 // +---+-+-+-----------------------+-------------------------------+ // |Sev|C|R| Facility | Code | // +---+-+-+-----------------------+-------------------------------+ // // where // // Sev - is the severity code // // 00 - Success // 01 - Informational // 10 - Warning // 11 - Error // // C - is the Customer code flag // // R - is a reserved bit // // Facility - is the facility code // // Code - is the facility's status code Und wie nutze ich das jetzt? |
Re: Eigene Fehlercodes
Du kannst die Fehlernummern vom MessageCompiler (MC) erzuegen lassen, du brauchst dazu eine Textdatei in einem bestimmen Fornat, in welcher die einzelnen Bestandteile des Codes stehen. Steht auch im PSDK (im Bereich Services): ms-help://MS.PSDK.1033/debug/base/message_files.htm
|
Re: Eigene Fehlercodes
Hai Luckie,
dann müsste es doch reichen wenn Du bei deinen Fehlercodes das Bit 29 setzt. |
Re: Eigene Fehlercodes
Villeicht so ? :
MY_ERROR = 1 AND $20000000 |
Re: Eigene Fehlercodes
qChewie: das passt mir allerdings nicht so ganz:
Zitat:
|
Re: Eigene Fehlercodes
So kann man sich die Codes in einem Label ausgeben.
Im Edit einfach eine Zahl eingeben.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const bit29 = 1 SHL 28; var myError : Integer; begin myError := StrToInt (Edit1.Text); myError := myError OR bit29; Label1.Caption := IntToStr (myError); end; Nachtrag Oder gleich in die Unit aufnehmen:
Delphi-Quellcode:
const
bit29 = 1 SHL 28; myError1 = 1 OR bit29; myError2 = 2 OR bit29; myError3 = 3 OR bit29; . . |
Re: Eigene Fehlercodes
Zitat:
|
Re: Eigene Fehlercodes
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:09 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