Deutsches AutoHotkey Homepage AutoHotkey Community
Wir helfen uns gegenseitig aus der Patsche
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Funktion für den Fehlerstring von "A_LastError"

 
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Skripte & Funktionen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Thalon



Anmeldedatum: 25.10.2005
Beiträge: 1867
Wohnort: Österreich

BeitragVerfasst am: Fr Feb 09, 2007 4:04 pm    Titel: Funktion für den Fehlerstring von "A_LastError" Antworten mit Zitat

Die Funktion GetErrorString kann dazu verwendet werden den korrekten Fehlerstring zu allen System-Fehler-IDs zu finden.
Dies tritt üblicherweise bei DllCalls auf (A_LastError).
Code:
GetErrorString(Errornumber)
{
   VarSetCapacity(ErrorString, 1024)      ;String to hold the error-message.
   
   DllCall("FormatMessage"
         , UINT, 0x00001000         ;FORMAT_MESSAGE_FROM_SYSTEM: The function should search the system message-table resource(s) for the requested message.
         , UINT, NULL               ;A handle to the module that contains the message table to search.
         , UINT, Errornumber
         , UINT, 0                     ;Language-ID is automatically retreived
         , Str, ErrorString
         , UINT, 1024               ;Buffer-Length
         , str, "")               ;An array of values that are used as insert values in the formatted message. (not used)
   
   StringReplace, ErrorString, ErrorString, `r`n, %A_Space%, All      ;Replaces newlines by A_Space for inline-output
   
   return %ErrorString%
}



Hier ein kleines Beispiel mit einem gültigen und einem ungültigen DllCall:
Code:
;Calls the Windows API function "MessageBox" and report which button the user presses.

   ;Correct Call
   WhichButton := DllCall("MessageBox", "int", "0", "str", "Press Yes or No", "str", "Title of box", "int", 4)
   if A_LastError != 0
      msgbox % GetErrorString(A_LastError)
   else
      MsgBox You pressed button #%WhichButton%.

   ;Incorrect Call
   WhichButton := DllCall("MessageBox", "int", "0", "str", "Press Yes or No", "str", "Title of box", "int", 7)
   if A_LastError != 0
      msgbox % GetErrorString(A_LastError)
   else
      MsgBox You pressed button #%WhichButton%.
return

_________________
Mein Motto: Hilfe zur Selbsthilfe!
Teildeutsche Hilfe (CHM)!! und Deutsche Online-Hilfe
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Chucky



Anmeldedatum: 07.01.2006
Beiträge: 616
Wohnort: Powerland

BeitragVerfasst am: Mo Feb 12, 2007 8:44 pm    Titel: Antworten mit Zitat

Feine Sache, das. Hat einen guten Platz in meiner Scriptlet Library ergattert Cool. Danke!

__________________________________________
Created with BBCodeWriter 6.6 - the one and only Very Happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Skripte & Funktionen Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de