Com Objekt - Errormanagment möglich?

  • Hey,

    beim arbeiten mit Objekten von Fremdprogrammen gibt es häufiger das Problem, dass mein Skript per autoit Fehlermeldung aussteigt.
    z.B. wenn das Fremdprogramm gar nicht läuft und somit das Objekt nicht erreichbar ist.

    Hier mal ein typischer Fall:

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    HotKeySet("{F1}", "_showdata")
    HotKeySet("{F2}", "_SetData")
    HotKeySet("{F3}", "_showosd")
    HotKeySet("{F4}", "_exit")

    [/autoit] [autoit][/autoit] [autoit]

    Global $DVBViewer = ObjGet ("", "DVBViewerServer.DVBViewer")

    [/autoit] [autoit][/autoit] [autoit]

    If $DVBViewer = 0 Then
    MsgBox (1, "", "Keine Verbindung zum DVBViewer möglich")
    exit
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    while 1

    [/autoit] [autoit][/autoit] [autoit]

    Sleep(1000)

    [/autoit] [autoit][/autoit] [autoit]

    wend

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    func _exit()
    Exit
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    func _showdata()
    local $epg=$DVBViewer.Datamanager.Value("#EPG.Channelnr")
    MsgBox(1, "", $epg)
    endfunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    func _setdata()
    $DVBViewer.Datamanager.Value("#EPG.Channelnr")=18
    endfunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    func _showosd()
    $DVBViewer.Datamanager.Value("#EPG.Channelnr")=18
    _showdata() ; -> 18
    $DVBViewer.WindowManager.ShowWindow(2) ; -> klappt
    _showdata() ; -> wieder der derzeit verwendete Sender
    endfunc

    [/autoit]


    Solange das Programm läuft funktionierts einwandfrei, aber ohne erreichbares Objekt steigt eben das Skript mit der Meldung:

    Code
    ==> The requested action with this object has failed.:


    aus.

    Kann ich das irgendwie verhindern, sodass man auf den Fehler im Skript reagieren kann?


    Gruß nuts

    Einmal editiert, zuletzt von nuts (28. Oktober 2010 um 21:54)