Zitat von
SirThornberry:
Geht es dir jetzt um die Funktion GetUserName oder GetComputerName? Bei GetUserName wird bei mir im Erfolgsfall der Wert von GetLastError nicht geändert.
Eigentlich ändert keine
WinAPI-Funktion den Wert von GetLastError.
GetLastError gibt ja den letzten Fehler und nicht den Status des letzten Funktionsaufrufs zurück ... der FehlerCode wird also nur geändert, wenn ein Fehler auftritt.
Wenn man GetLastError auch nach einem erfolgreichem Funktionsaufruf dennoch auslesen will, dann muß man GetLastError auch vor dem Funktionsaufruf aufrufen, da GetLastError den FehlerCode zurücksetzt.
Delphi-Quellcode:
GetLastError;
// FehlerCode zurücksetzen
...
// irgend'ne WinAPI-Finktion aufrufen
Result := GetLastError;
[add]
oder
Delphi-Quellcode:
SetLastError(0);
// FehlerCode zurücksetzen
...
// irgend'ne WinAPI-Finktion aufrufen
Result := GetLastError;