AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Eigene Fehlercodes

Ein Thema von Luckie · begonnen am 17. Jan 2004 · letzter Beitrag vom 18. Jan 2004
Antwort Antwort
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Eigene Fehlercodes

  Alt 17. Jan 2004, 12:26
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Eigene Fehlercodes

  Alt 17. Jan 2004, 12:35
Luckie, wofür hast du das PSDK?

Schau dir mal darin diese Seite an: ms-help://MS.PSDK.1033/debug/base/system_error_codes.htm
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Eigene Fehlercodes

  Alt 17. Jan 2004, 12:53
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:
//
//  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
Ist Bit 29 Null ist es ein MS ErrorCode, ist es eins ein ErrorCode vom Kunden.

Und wie nutze ich das jetzt?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Eigene Fehlercodes

  Alt 17. Jan 2004, 12:59
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
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Eigene Fehlercodes

  Alt 17. Jan 2004, 13:02
Hai Luckie,

dann müsste es doch reichen wenn Du bei deinen Fehlercodes das Bit 29 setzt.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Nightshade

Registriert seit: 7. Jan 2003
Ort: Menden
192 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Eigene Fehlercodes

  Alt 17. Jan 2004, 13:02
Villeicht so ? :

MY_ERROR = 1 AND $20000000
Christian
Killing for peace is like fucking for virginity

Nightshade
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Eigene Fehlercodes

  Alt 17. Jan 2004, 13:06
qChewie: das passt mir allerdings nicht so ganz:
Zitat von PSDK:
You should typically create message files as resource-only DLLs.
@NightShade: Und was kommt dann da für ein nummerischer Wert raus?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Eigene Fehlercodes

  Alt 17. Jan 2004, 13:11
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;
  .
  .
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Nightshade

Registriert seit: 7. Jan 2003
Ort: Menden
192 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Eigene Fehlercodes

  Alt 17. Jan 2004, 13:14
Zitat von Luckie:
@NightShade: Und was kommt dann da für ein nummerischer Wert raus?
Ups, sollte man villeicht nen OR nehmen
Christian
Killing for peace is like fucking for virginity

Nightshade
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Eigene Fehlercodes

  Alt 18. Jan 2004, 13:19
Zitat von Luckie:
qChewie: das passt mir allerdings nicht so ganz:
Zitat von PSDK:
You should typically create message files as resource-only DLLs.
Es geht mir ja auch nicht um die MessageFiles selbst, sondern um die Codes, die mittels den Angaben der MessageFiles erzeugt werden. Du kannst entweder selbst herumrechnen, ob Bit 29 gesetzt ist oder nicht oder du schreibst dir eine MessageFile, jagst sie durch den MessageCompiler und kopierst dir die Nummer aus den C-Header-Files raus.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  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 07:55 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