ich versuche aus dem TVBrowser heraus direkt meinen Archos-500 ("portable video recorder") zu programmieren. Ich habe mir dazu das Capture Plugin angesehen und es sollte eigentlich alle dazu nötigen Funktionen bieten (und natürlich noch weit mehr, was ich aber für diese einfache Aufgabe gar nicht brauche...).
Also habe ich ein kleines Java-Programm geschrieben, dass alle Infos als Commandline-Parameter entgegennimmt, sie für den Archos-500 aufbereitet und diesem dann übergibt. Im Capture-Plugin habe ich ein entsprechendes "Device" konfiguriert und dort unter Application die entsprechende Commandline und unter Parameters->Record die zu übergebenden Parameter definiert.
Wenn ich nun auf eine Sendung rechts-klicke und dann "Archos=>Record" anklicke kommen auch alle Daten brav an und die ganze Choose würde eigentlich auch bestens funktionieren, wenn nicht NACH der Übergabe (also dann wenn eigentlich schon alles gelaufen ist) das Capture-Plugin immer abstürzen würde:
Ich bekomme nach Ablauf des Timeouts immer die folgende Fehlermeldung:
Ich habe mit verschiedenen Timeout values gespielt, aber auch wenn ich die auf 15 Sekunden und mehr hochschraube (mein Progrämmchen braucht allerhöchstens 1-2 Sekunden) bekomme ich die obige Fehlermeldung. Warum wartet das Plugin eigentlich überhaupt auf den gestarteten Prozess? Ich habe doch das "check if returns error value" abgewählt. Irgendwas scheine ich hier nicht begriffen zu haben!Error while excecuting.
----- Start of stacktrace -----
java.lang.IllegalThreadStateException: process has not exited
at java.lang.ProcessImpl.exitValue(Native Method)
at captureplugin.drivers.defaultdriver.CaptureExecute.executeApplication(CaptureExecute.java:269)
at captureplugin.drivers.defaultdriver.CaptureExecute.execute(CaptureExecute.java:150)
at captureplugin.drivers.defaultdriver.CaptureExecute.addProgram(CaptureExecute.java:105)
at captureplugin.drivers.defaultdriver.DefaultDevice.add(DefaultDevice.java:205)
at captureplugin.CapturePlugin$2.actionPerformed(CapturePlugin.java:242)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.AbstractButton.doClick(AbstractButton.java:302)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1000)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1041)
at java.awt.Component.processMouseEvent(Component.java:5488)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3093)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1766)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
----- End of stacktrace -----
Wie starte ich aus dem Capture-Plugin ein Programm und fertig. Ich erwarte NICHT, dass das Plugin anschliessend von dem gestarteten Programm noch irgendwas wissen oder etwas damit zu tun haben will. Kann mir das evtl. jemand erklären? Oder ist das ein Bug im Plugin? Oder warum bekomme ich diese ThreadStateExceptions???
Michael