Diese Prozedur gibt einen String zurück, der eine Windows-Fehlermeldung enthält. Man liest oft bei Windows-API Befehlen, dass man GetLastError_() aufrufen soll, wenn ein API-Befehl fehlschlägt, um weitere Informationen über den Fehler zu erhalten. Ein Zahlencode nützt einem aber nichts. Daher könnt ihr diese Prozedur benutzen, um aus der Zahl einen String zu machen. Dieser String enthält dann die Fehlermeldung, wie sie in Windows gespeichert ist.
Also: Nach einem gescheiterten Vorgang einfach diese Prozedur aufrufen. Man kann auch den Code für die Fehlermeldung selbst bestimmen, oder man lässt -1 drin; dann wählt die Prozedur automatisch den richtigen Code.
Code: Alles auswählen
Procedure.s GetLastErrorAsString(ErrorCode=-1)
Protected message.s{1024}
If ErrorCode = -1
ErrorCode=GetLastError_()
EndIf
FormatMessage_(#FORMAT_MESSAGE_FROM_SYSTEM, 0, ErrorCode, 0, @message, 1024, 0)
ProcedureReturn message
EndProcedure
For n=2 To 5
MessageRequester("Demo", GetLastErrorAsString(n), #MB_ICONEXCLAMATION)
Next
Beispiele:
"Zugriff verweigert"
"Das System kann die angegebene Datei nicht finden."