GetLastError: Unterschied zwischen den Versionen

Aus API-Wiki
Wechseln zu: Navigation, Suche
Zeile 1: Zeile 1:
 
{| border="0" cellspacing="10" style="background:#B0E2FF;" width="100%"
 
{| border="0" cellspacing="10" style="background:#B0E2FF;" width="100%"
| [[Bild:NOAPI.JPG]] || '''Diese API sollte nicht unter Visual Basic benutzt werden!'''
+
| [[Bild:NOAPI.JPG]] || '''Diese API sollte nicht unter Visual Basic benutzt werden!''' <br> Weitere Hinweise finden Sie in der Beschreibung!
 
|}
 
|}
  
Zeile 19: Zeile 19:
 
'''Hinweise'''
 
'''Hinweise'''
  
Für Visual Basic 6 wird die Funktion ''Err.LastDLLError'' als Ersatz für den API-Aufruf bereitgestellt.
+
Für Visual Basic wird die Funktion ''Err.LastDLLError'' als Ersatz für den API-Aufruf bereitgestellt. Dies hat den Grund, dass Visual Basic selbst gebrauch von [[GetLastError]] macht und es somit zu einer Verfälschung der Fehlercodes führt. Aus diesem Grunde stellt Visual Basic ''LastDLLError'' zur Verfügung, denn vom Code verursachte Fehler werden hier hinterlegt.
  
 
Außerdem sollte die Abfrage unbedingt direkt nach dem Funktionsaufruf stattfinden, da viele Funktionen die Fehlerrückgabe per [[SetLastError]] auf ''ERROR_SUCCESS'' setzen.
 
Außerdem sollte die Abfrage unbedingt direkt nach dem Funktionsaufruf stattfinden, da viele Funktionen die Fehlerrückgabe per [[SetLastError]] auf ''ERROR_SUCCESS'' setzen.

Version vom 8. März 2007, 16:46 Uhr

NOAPI.JPG Diese API sollte nicht unter Visual Basic benutzt werden!
Weitere Hinweise finden Sie in der Beschreibung!


Liefert den Fehlercode des letzten aufgetretenen Funktionsfehlers des aufrufenden Prozesses zurück.

Declare Function GetLastError Lib "kernel32.dll" () As Long


Rückgabe

Die Funktion gibt – soweit kein Fehler aufgetreten ist – ERROR_SUCCESS zurück. Andernfalls wird der Fehlercode anhand der Systemfehler-Codes [1] zurückgegeben.


Hinweise

Für Visual Basic wird die Funktion Err.LastDLLError als Ersatz für den API-Aufruf bereitgestellt. Dies hat den Grund, dass Visual Basic selbst gebrauch von GetLastError macht und es somit zu einer Verfälschung der Fehlercodes führt. Aus diesem Grunde stellt Visual Basic LastDLLError zur Verfügung, denn vom Code verursachte Fehler werden hier hinterlegt.

Außerdem sollte die Abfrage unbedingt direkt nach dem Funktionsaufruf stattfinden, da viele Funktionen die Fehlerrückgabe per SetLastError auf ERROR_SUCCESS setzen.


Verwandte Funktion(en)

String formatieren - FormatMessageBenutzer:Bernhard Döbler/Vorlage:Zuständig