Passiert ist folgendes: Nach der Neuinstallation der tvb 1.1.alpha2 Version machte ich mich auch gleich daran,
die neue version des capture plugins mit winTV2k zu testen. Nach einigem Vertrautmachen mit den neuen
Parametern richtete ich mir ein Gerät zur sofortigen Aufnahme und eines für die Aufnahme aus dem standby
Betrieb ein. Es lief alles wie von selbst.(Nebenbei: Ein hervorragendes plugin!!). Nun reichte mir die ganze
Sache nicht so ganz und ich versuchte gleichzeitig alle aktionen über die bekannten vbs scripten noch in ein
logfile einzutragen. Und damit begann das seltsame Verhalten vom tvb. Denn plötzlich wollte er nicht mehr
alle Sendungen(vorallem die, welche längere Titel haben und sogut wie keine weiteren Angaben im Infotext
machen) in die Liste der Aufnahmen eintragen und brachte die u.g. Fehlermeldung. Aber das Merkwürdigste
daran ist, daß die Parameter und Werte dennoch an die vbskripten übergeben werden und eigentlich trotzdem
noch alles funktioniert, selbst der eintrag im logfile.
Nun zur Frage, könnte mir denn jemand mal erklären, was die Fehlermeldung beinhaltet, und wie ich
eventuell meinen code umschreiben müßte, um dennoch einen glatten eintrag im logfile zu erhalten. Oder
hab ich da doch etwas entdeckt, was eventuell ein Bug genannt werden darf?
Ich danke für alle Bemühungen im voraus
Viele Grüße an das hervorragende Entwicklerteam des tv-browsers
Prometheus
Fehler bei ausführen des Kommandos.
Code: Alles auswählen
----- Start of stacktrace -----
java.lang.IllegalThreadStateException: process has not exited
at java.lang.Win32Process.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(Unknown Source)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
----- End of stacktrace -----
Code: Alles auswählen
Set ArgObj = WScript.Arguments
v_counter = ArgObj.count
IF 12 < v_counter THEN
Wscript.Echo date &" um "& time &" Uhr. "&"Zu viele Parameter! Folgende Parameter müssen in genauer Anzahl und Reihenfolge übergeben werden: {start_hour} {start_minute} {start_day} {start_month} {start_year} {channel_name_external} {device_password} {device_username} {title)} {length_sec} {length_minutes} {clean(channel_name)}"
WScript.Quit(1)
ELSE
IF 12 > v_counter THEN
Wscript.Echo date &" um "& time &" Uhr. "&"Zu wenig Parameter! Folgende Parameter müssen in genauer Anzahl und Reihenfolge übergeben werden: {start_hour} {start_minute} {start_day} {start_month} {start_year} {channel_name_external} {device_password} {device_username} {title)} {length_sec} {length_minutes} {clean(channel_name)}"
WScript.Quit(1)
ELSE
v_start_year = ArgObj(0)
v_start_month = ArgObj(1)
v_start_day = ArgObj(2)
v_start_hour = ArgObj(3)
v_start_minute = ArgObj(4)
v_length_minute = ArgObj(5)
v_length_sec = ArgObj(6)
v_channel_name_external = ArgObj(7)
v_channel_name = ArgObj(8)
v_title = ArgObj(9)
v_device_username = ArgObj(10)
v_device_password = ArgObj(11)
v_path_record = "C:\Windows\System32\cscript.exe C:\Programme\tvBrowser.1.1.alpha\standbyrecord\development\recordNEU.vbs c:\PROGRAMME\WinTV\WinTV2K.EXE"
v_path_schtasks = "%systemroot%\system32\schtasks.exe"
v_path_waketask = "%systemroot%\System32\waketask.exe"
IF 100 > v_length_minute Then
IF 10 > v_length_minute Then
v_length_minute = "00"& v_length_minute
ELSE
v_length_minute = "0"& v_length_minute
END IF
END IF
' die """" am anfang und ende des variablenwertes sind notwendig, um die werte in "" zu uebergeben
v_startprog = """"& v_path_record &" "& v_start_year &" "& v_start_month &" "& v_start_day &" "& v_length_sec &" "& v_channel_name &" "& v_channel_name_external &" "& v_title &""""
v_taskname = v_start_year &"."& v_start_month &"."& v_start_day &"."& v_start_hour &"."& v_start_minute &"h."& v_channel_name &"."& v_title
v_user = """"& v_device_username &""""
v_pass = """"& v_device_password &""""
v_startdate = v_start_day &"/"& v_start_month &"/"& v_start_year
v_starttime = v_start_hour &":"& v_start_minute &":00"
' message for record.log
strCommand = "create.Task"
strMessage = v_taskname
strPathLogFile = "C:\Programme\tvBrowser.1.1.alpha\standbyrecord\logfile.vbs"
strWriteLogFile = strPathLogFile &" "& strCommand &" "& strMessage
Set task = WScript.CreateObject("WScript.Shell")
task.run (strWriteLogFile),1
Wscript.Echo "write to record.log successful"
strTaskCommand = "/create /sc EINMAL /st "& v_starttime &" /sd "& v_startdate &" /ru "& v_user &" /rp "& v_pass &" /tn "& v_taskname &" /tr "& v_startprog
v_create = 0
Set objShell = WScript.CreateObject("WScript.Shell")
Set objExecObject = objShell.Exec(v_path_schtasks &" "& strTaskCommand)
Do While Not objExecObject.StdOut.AtEndOfStream
strText = objExecObject.StdOut.ReadLine()
If Instr(strText, "ERFOLGREICH") < 1 Then
Wscript.Echo strText
v_create = 1
End If
Loop
IF 0 = v_create THEN
Set task = WScript.CreateObject("WScript.Shell")
task.run (v_path_waketask &" 1 "& v_taskname),1
Wscript.Echo strTaskCommand
ELSE
WScript.Quit(1)
END IF
END IF
END IF
Code: Alles auswählen
Set ArgObj = WScript.Arguments
command = ArgObj(0)
message = ArgObj(1)
v_year = DatePart("yyyy" , Now)
v_month = DatePart("m" , Now)
v_day = DatePart("d" , Now)
IF 10 > v_month Then
v_month = 0 & v_month
END IF
IF 10 > v_day Then
v_day = 0 & v_day
END IF
Set objFSO = wscript.CreateObject("Scripting.FileSystemObject")
v_logPath = "C:\Programme\tvBrowser.1.1.alpha\standbyrecord\"
v_logFile = "record.log"
v_strFullName = objFSO.BuildPath( v_logPath , v_logFile)
Set objFile = objFSO.OpenTextFile(v_strFullName ,8 )
objFile.WriteLine ""& v_year & "/"& v_month &"/"& v_day &" "& time &": ["& command &"] "& message &""
objFile.Close