GetLastError: Unterschied zwischen den Versionen
K (→Hinweise) |
|||
(3 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
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"> |
Declare Function GetLastError Lib "kernel32.dll" () As Long | Declare Function GetLastError Lib "kernel32.dll" () As Long | ||
− | </ | + | </syntaxhighlight> |
Zeile 22: | Zeile 22: | ||
− | Sollten Sie dennoch [[GetLastError]] verwenden wollen, um über den Status eines Funktionsaufrufes Fehlerinformationen zu erhalten, so muss der Funktionsaufruf unbedingt direkt nach | + | 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== | ==Verweise== | ||
Zeile 39: | Zeile 39: | ||
[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/vb6/APIFehlermeldungenImKlartext.mspx?mfr=true GetLastError ist keine VB-Funktion!] | ||
− | [[Kategorie: | + | |
+ | [[Kategorie:Fehler]] | ||
+ | [[Kategorie:Kernel]] | ||
+ | [[Kategorie:Funktionen]] |
Aktuelle Version vom 7. Oktober 2016, 22:22 Uhr
|
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 [2]
Verwandte Funktion(en)
String formatieren - FormatMessage
Quellen
MSDN Englisch [3]
GetLastError ist keine VB-Funktion!