UDF > Debug >


_DebugCOMError

Définit, réinitialise, ou demande le niveau de débogage pour les erreurs COM

#include <Debug.au3>
_DebugCOMError ( [$iComDebug = 1 [, $bExit = False]] )

Paramètres

$iComDebug [optionnel] Niveau de débogage. Les valeurs possibles sont:
-1 - Retourne les paramètres actuels
 0 - Désactive le débogage
 1 - Active le débogage. Affiche les informations de débogage (par défaut)
$bExit [optionnel] True si le script doit se terminer

Valeur de retour

Succès: Retourne:
1 si $iComDebug = 0 ou 1, et définit @extended de la façon suivante:
    0 - Le gestionnaire d'erreurs COM n'est pas initialisé
    1 - Le gestionnaire d'erreurs COM a été initialisé
    2 - Le gestionnaire d'erreurs COM était déjà actif
    3 - Le gestionnaire d'erreurs COM est déjà désactivé
1 si $iComDebug = -1 et @error et @extented sont définis de la façon suivante:
    @error = niveau de débogage courant
    @extended = terminaison du script courant.
Échec: Retourne 0 et définit @error <> 0.
@error: 1 - $iComDebug n'est pas un nombre entier ou < -1 ou > 1
2 - Le gestionnaire d'erreurs COM est déjà installé pour une autre fonction (= pas installé par cette fonction)
3 - _DebugSetup() ne s'est pas exécutée correctement. Assurez-vous que _DebugSetup() s'est exécutée correctement avant d'appeler cette fonction
4 - L'installation du gestionnaire d'erreur personnalisé a échoué. @extended contient le code d'erreur retourné par ObjEvent()

Remarque

Avant d'appeler cette fonction, _DebugSetup() doit être appelée en premier pour créer la session de débogage.

En relation

_DebugSetup

Exemple

#include <Debug.au3>
#include <MsgBoxConstants.au3>

_DebugSetup(Default, True, 1, Default, True) ; 1 = Ecrit des messages avec horodatage dans le fichier journal de Window

Example()

; Provoque une erreur COM et laisse _DebugCOMError afficher les messages d'erreur dans le fichier journal de Window

Func Example()
    ; Crée un objet application Microsoft Internet Explorer
    Local $oIE = ObjCreate("InternetExplorer.Application")
    If @error <> 0 Then Exit MsgBox($MB_SYSTEMMODAL, "_DebugCOMError UDF", "Erreur lors de la création d'un nouvel objet application IE." & _
            @CRLF & "@error = " & @error & ", @extended = " & @extended)
    ; Met en place le gestionnaire d'erreur COM pour écrire les messages d'erreur dans le Report Log Window
    _DebugCOMError(1)
    ; Provoque une erreur COM: la fonction est inconnue
    $oIE.xyz()
    If @error <> 0 Then Return MsgBox($MB_SYSTEMMODAL, "_DebugCOMError UDF", "Erreur survenue et gérée." & _
            @CRLF & "@error = " & @error)
    ; Ferme IE
    $oIE.Quit()
    $oIE = 0
EndFunc   ;==>Example