AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Eigene Fehlercodes / Fehlermeldungen erstellen/verwalten
Thema durchsuchen
Ansicht
Themen-Optionen

Eigene Fehlercodes / Fehlermeldungen erstellen/verwalten

Ein Thema von TheMiller · begonnen am 21. Feb 2010 · letzter Beitrag vom 22. Feb 2010
 
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#16

Re: Eigene Fehlercodes / Fehlermeldungen erstellen/verwalten

  Alt 21. Feb 2010, 20:41
Zitat von himitsu:
Wenn du eigene Fehlercodes z.B. über MSDN-Library durchsuchenSetLastError (MSDN-Library durchsuchenGetLastError) ausliefern willst, dann kannst du diese nicht einfach so vergeben ... (die 1 ist z.B. schon belegt)

Es gibt dort einen nur gewissen Bereich, welchen du verwenden dürftest, außerdem gibt es für diese Codes ein festgelegtes Format.
Okay, das stimmt natürlich. Deshalb nutzt man auch hier das 29te Bit, um damit keine Probleme zu haben:
Zitat:
Bit 29 is reserved for application-defined error codes; no system error code has this bit set.
Das gilt auch für HRESULT nur nutzt man da normal nicht SetLastError, was aber möglich wäre.

Daher zwei mögliche Wege.
1. HRESULT als Rückgabewert nutzen:
Delphi-Quellcode:
function MyFunc(...) : HRESULT;
begin
  result := MakeResult(1, 100, MY_ERROR) or $20000000;
end;
2. SetLastError nutzen
Delphi-Quellcode:
function MyFunc(...) : Boolean;
begin
  //fehler
  SetLastError(MakeResult(1, 100, MY_ERROR) or $20000000);
  result := false;
end;
Das sieht jetzt merkwürdig aus, weil normal bei GetLastError einer der ERROR_XXX (z.B. ERROR_FILE_NOT_FOUND) rauskommt. Aber der Autor der Funktion kann das selbst bestimmen.


Zitat von DJ-SPM:
Das hört sich recht interessant an und ich bin nicht abgeneigt. Aber...: Bin ich dann von ActiveX abhängig?

So genau habe ich das jetzt nicht verstanden.
Nein, das ist die Unit ActiveX.pas, worin diese Funktionen deklariert sind. D.h. nicht, dass du ActiveX verwendest. Du könntest diese Funktionen auch einfach rauskopieren oder selbst erstellen.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
 


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 10:54 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