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
HotKeySet("{F1}", "_showdata")
HotKeySet("{F2}", "_SetData")
HotKeySet("{F3}", "_showosd")
HotKeySet("{F4}", "_exit")
Global $DVBViewer = ObjGet ("", "DVBViewerServer.DVBViewer")
[/autoit] [autoit][/autoit] [autoit]If $DVBViewer = 0 Then
MsgBox (1, "", "Keine Verbindung zum DVBViewer möglich")
exit
EndIf
while 1
[/autoit] [autoit][/autoit] [autoit]Sleep(1000)
[/autoit] [autoit][/autoit] [autoit]wend
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]func _exit()
Exit
EndFunc
func _showdata()
local $epg=$DVBViewer.Datamanager.Value("#EPG.Channelnr")
MsgBox(1, "", $epg)
endfunc
func _setdata()
$DVBViewer.Datamanager.Value("#EPG.Channelnr")=18
endfunc
func _showosd()
$DVBViewer.Datamanager.Value("#EPG.Channelnr")=18
_showdata() ; -> 18
$DVBViewer.WindowManager.ShowWindow(2) ; -> klappt
_showdata() ; -> wieder der derzeit verwendete Sender
endfunc
Solange das Programm läuft funktionierts einwandfrei, aber ohne erreichbares Objekt steigt eben das Skript mit der Meldung:
aus.
Kann ich das irgendwie verhindern, sodass man auf den Fehler im Skript reagieren kann?
Gruß nuts