GetLastError: Unterschied zwischen den Versionen

Aus API-Wiki
Wechseln zu: Navigation, Suche
Zeile 7: Zeile 7:
 
Liefert den Fehlercode des letzten aufgetretenen Funktionsfehlers des aufrufenden Prozesses zurück.
 
Liefert den Fehlercode des letzten aufgetretenen Funktionsfehlers des aufrufenden Prozesses zurück.
  
<syntaxhighlight lang="vb">
+
<syntaxhighlight lang="<syntaxhighlight lang="vb">">
 
Declare Function GetLastError Lib "kernel32.dll" () As Long
 
Declare Function GetLastError Lib "kernel32.dll" () As Long
 
</syntaxhighlight>
 
</syntaxhighlight>
Zeile 26: Zeile 26:
 
==Verweise==
 
==Verweise==
  
Eine ausführliche Information zu diesem Thema findet sich zudem in der deutschen MSDN [http://www.microsoft.com/germany/msdn/library/visualtools/vb6/APIFehlermeldungenImKlartext.mspx?mfr=true]
+
Eine ausführliche Information zu diesem Thema findet sich zudem in der deutschen MSDN [http://www.microsoft.com/germany/msdn/library/visualtools/<syntaxhighlight lang="vb">6/APIFehlermeldungenImKlartext.mspx?mfr=true]
  
  
Zeile 37: Zeile 37:
  
 
MSDN Englisch [http://msdn2.microsoft.com/en-us/library/ms679360.aspx]<br>
 
MSDN Englisch [http://msdn2.microsoft.com/en-us/library/ms679360.aspx]<br>
[http://www.microsoft.com/germany/msdn/library/visualtools/vb6/APIFehlermeldungenImKlartext.mspx?mfr=true GetLastError ist keine VB-Funktion!]
+
[http://www.microsoft.com/germany/msdn/library/visualtools/<syntaxhighlight lang="vb">6/APIFehlermeldungenImKlartext.mspx?mfr=true GetLastError ist keine VB-Funktion!]
  
  

Version vom 5. November 2016, 22:10 Uhr

NOAPI.JPG Diese API-Funktion 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 kommen kann. Aus diesem Grunde stellt Visual Basic LastDLLError zur Verfügung, denn vom Code verursachte Fehler werden hier hinterlegt ohne dass diese vom SetLastError - Aufruf von Visual Basic verändert werden.


Sollten Sie dennoch GetLastError verwenden wollen, um über den Status eines Funktionsaufrufes Fehlerinformationen zu erhalten, so muss der Funktionsaufruf unbedingt direkt nach dem eigentlichen Funktionsaufruf stattfinden, da viele Funktionen als Rückgabe die Fehlerrückgabe per SetLastError auf ERROR_SUCCESS setzen. Dennoch ist auch der direkt anschließende Aufruf kein Garant für die Richtigkeit des Wertes, der durch GetLastError zurückgegeben wird.

Verweise

Eine ausführliche Information zu diesem Thema findet sich zudem in der deutschen MSDN <syntaxhighlight lang="vb">6/APIFehlermeldungenImKlartext.mspx?mfr=true


Verwandte Funktion(en)

String formatieren - FormatMessage


Quellen

MSDN Englisch [2]
<syntaxhighlight lang="vb">6/APIFehlermeldungenImKlartext.mspx?mfr=true GetLastError ist keine VB-Funktion!