Schreibt zu einer Debugging-Sitzung eine formatierte Nachricht
#include <Debug.au3>
_DebugReportEx ( $sData [, $bLastError = False [, $bExit = False]] )
$sData | Daten die gemeldet werden sollen. (z.B. "dllname|functionname") |
$bLastError | [optional] True, wenn _WinAPI_GetLastErrorMessage() zu den zu meldenden Daten hinzugefügt werden muss. |
$bExit | [optional] True, wenn das Script beendet werden soll |
Erfolg: | 1 (siehe Bemerkungen). |
Fehler: | 0 |
Entsprechend dem @error Wert wird die Nachricht wie folgend formatiert:
0 - meldet "Schlechte Rückgabe von der FUNKTION in DLL".
1 - meldet "Nicht im Stande eine dll zu öffnen"
3 - meldet "Nicht im Stande FUNKTION in DLL zu finden".
Wenn $sData kein "|" enthält oder @error ist nicht wie oben festgelegt, wird die zu meldende Nachricht nicht formatiert.
Wenn _DebugSetup() nicht aufgerufen wurde, wird die Funktion nicht ausgeführt.
@error wird nicht geändert.
@extended wird zum Windows API _WinNet_GetLastError() gesetzt, wenn $bLastError = True.
Ansonsten wird es nicht geändert.
Bei jedem Aufruf von _DebugReportEx() wird die Ausgabe in eine eigene Zeile gestellt, wenn $bLastError = True ist.
#include <Debug.au3>
_DebugSetup()
_DebugOut("message1")
SomeUDF("anyfunction")
If @error Then _DebugReportEx("user32|anyfunction", True); wird an die letzte Errormeldung angehangen
Local $iRet = SomeUDF("CloseClipboard")
If @error Or $iRet = 0 Then _DebugReportEx("user32|CloseClipboard")
_DebugOut("message2")
$iRet = SomeUDF("CloseClipboard")
If @error Or $iRet = 0 Then _DebugReportEx("user32|CloseClipboard", False, True) ; Skript wird "zerstört"
_DebugReport("message3") ; wird nicht gemeldet
Func SomeUDF($sFunc)
Local $aResult = DllCall("user32.dll", "int", $sFunc)
If @error Then Return SetError(@error, @extended, 0)
Return $aResult[0]
EndFunc ;==>SomeUDF