Setzt das Debug-Level für COM Fehler, setzt es zurück oder fragt es ab.
#include <Debug.au3>
_DebugCOMError ( [$iComDebug = 1 [, $bExit = False]] )
$iComDebug | [optional] Debug Level. Mögliche Werte sind: -1 - gibt die aktuelle Einstellung zurück 0 - deaktiviert Debugging 1 - aktiviert Debugging. Gibt die Debuginfos aus (standardmäßig) |
$bExit | [optional] True wenn das Script beendet werden muss |
Erfolg: | 1 wenn $iComDebug = 0 oder 1 und setzt @extended auf: 0 - Der COM Errorhandler ist nicht initialisiert 1 - Der COM Errorhandler wurde initialisiert 2 - Der COM Errorhandler war bereits aktiv 3 - Der COM Errorhandler ist bereits deaktiviert 1 wenn $iComDebug = -1 und setzt das @error und @extented auf die aktuelle Einstellung: @error = aktuelles Debug Level @extended = aktuelle Skript Beendigung |
Fehler: | 0 und setzt das @error Flag auf ungleich null. |
@error: | 1 - $iComDebug ist kein Integer oder < -1 oder > 1 2 - Der COM Errorhandler ist bereits auf eine andere Funktion gesetzt (= nicht von dieser Funktion gesetzt) 3 - _DebugSetup() lief nicht erfolgreich. Es muß sichergestellt sein, dass erfolgreich lief, bevor diese Funktion aufgerufen wird 4 - Installation des benutzerdefinierten Errorhandlers schlug fehl. @extended enthält den von ObjEvent() gesetzten Fehlercode |
Bevor diese Funktion aufgerufen wird muss _DebugSetup() aufgerufen worden sein um die Debugsitzung zu starten.
#include <Debug.au3>
#include <MsgBoxConstants.au3>
_DebugSetup(Default, True, 1, Default, True) ; 1 = Write messages with timestamps to the Report Log Window
Example()
; Example
; Provoke a COM error and let _DebugCOMError display the error messages in the Report Log Window
Func Example()
; Create application object for the Microsoft Internet Explorer
Local $oIE = ObjCreate("InternetExplorer.Application")
If @error <> 0 Then Exit MsgBox($MB_SYSTEMMODAL, "_DebugCOMError UDF", "Error creating a new IE application object." & _
@CRLF & "@error = " & @error & ", @extended = " & @extended)
; Set up the COM error handler to write error messages to the Report Log Window
_DebugCOMError(1)
; Provoke a COM error. Function is unknown
$oIE.xyz()
If @error <> 0 Then Return MsgBox($MB_SYSTEMMODAL, "_DebugCOMError UDF", "Error occurred and handled." & _
@CRLF & "@error = " & @error)
; Close the IE
$oIE.Quit()
$oIE = 0
EndFunc ;==>Example