Portisch Posted February 18, 2009 Share Posted February 18, 2009 Hi, das Problem hat eigentlich nichts mit dem DVBViewer zu tun, aber ich glaube hier sind ein paar Leute die mir weiterhelfen können! Ich möchte das Plugin DVBViewer_Switch um eine COM Methode erweitern um über die Command.vbs (die ja vom DVBViewer verwendet wird) mit dem Switch reden zu können. Bei dem COM Server handelt es sich um ein Automatisierungsobjekt. Beim Starten von dem Handling des DVBViewer_Switches wird der Server in der ROT eingetragen. Mit einem Delphi Programm benutze ich nun die FindInROT Funktion um zu sehen ob der Switch läuft. Funktioniert einwandfrei. Mit einem VBScript habe ich jedoch Probleme! Vereinfachter Code: Dim Obj Dim Ergebnis If IsRunning Then Set Obj = CreateObject("DVBViewer_Switch.InputEvent") Ergebnis = Obj.SendActionID(ActionID) End If Function IsRunning On Error Resume Next Err.Clear: Set ComObj = GetObject(, "DVBViewer_Switch.InputEvent") If Err.Number = 424 Or Err.Number = 429 Then IsRunning= False Else IsRunning=True End If End Function Nun starte ich den Switch: Beim ersten mal Starten des Scripts: Alles funktioniert. Der Err bleibt 0 und die Funktion Obj.SendActionID funktioniert einwandfrei. Beim zweiten mal Starten des Scripts: Err.Clear: Set ComObj = GetObject(, "DVBViewer_Switch.InputEvent") gibt mir den Err.Number 429 zurück und steigt somit aus dem Script aus. Wenn man Testweise das IsRunning auf True setzt funktioniert die Komunikation mit Obj.SendActionID trotzdem. Wenn ich den Switch nun neu starte geht es wieder genau ein mal! Nun ist die Frage, trage ich den Switch falsch in der ROT ein oder liegt es am Script? Habe glaube ich einmal gelesen, dass mit GetObject ein Server vom ROT genommen wird und dies nur einmal gemacht werden kann!? Quote Link to comment
Portisch Posted February 18, 2009 Author Share Posted February 18, 2009 Hat sich Erledigt! Die Eintragung in den ROT hat nicht richtig funktioniert! Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.