Ecrit, dans une session de débogage, un message formaté
#include <Debug.au3>
_DebugReportEx ( $sData [, $bLastError = False [, $bExit = False]] )
$sData | Données concernées par le rapport (par exemple "dllname|functionname") |
$bLastError | [optionnel] True si _WinAPI_GetLastErrorMessage() doit être ajouté aux données concernées par le rapport |
$bExit | [optionnel] True si le script doit se terminer |
Succès: | Retourne 1 (voir Remarques). |
Échec: | Retourne 0. |
Selon la valeur de @error le message sera formaté comme suit:
0 - rapport "Mauvais retour de la fonction dans la DLL ".
1 - rapport "Impossible d'ouvrir une DLL"
3 - Rapport "Impossible de trouver la fonction dans la DLL".
Si $sData ne contient pas de "|" ou @error n'est pas un des messages ci-dessus, le message rapporté ne sera pas formaté.
Si aucun appel à _DebugSetup() n'a été fait la fonction retourne toujours.
@error de l'appelant est préservée.
@extended contient _WinNet_GetLastError() de l'API Windows si $bLastError = True.
Sinon, il est préservé.
#include <Debug.au3> _DebugSetup() _DebugReport("message1") SomeUDF("anyfunction") If @error Then _DebugReportEx("user32|anyfunction", True); avec le dernier message d'erreur ajouté Local $iRet = SomeUDF("CloseClipboard") If @error Or $iRet = 0 Then _DebugReportEx("user32|CloseClipboard") _DebugReport("message2") $iRet = SomeUDF("CloseClipboard") If @error Or $iRet = 0 Then _DebugReportEx("user32|CloseClipboard", False, True) ; Script se termine _DebugReport("message3") ; ne seront pas signalés Func SomeUDF($sFunc) Local $aResult = DllCall("user32.dll", "int", $sFunc) If @error Then Return SetError(@error, @extended, 0) Return $aResult[0] EndFunc ;==>SomeUDF