dbraner Posted September 19, 2013 Share Posted September 19, 2013 Hallo, was hat es eigentlich mit der recht seltsamen windowload.vbs auf sich, die beim Setup installiert wird: option explicit dim i, Timernumber, Text '----------------------------------------------------------------- sub main(ChannelID) 'Define Button labels propsetvalue "#Lang.Context", "Context" propsetvalue "#Lang.DirectoryUp", "Dir Back" propsetvalue "#Lang.AddToPlaylist", "Add" propsetvalue "#Lang.Paste", "Paste" propsetvalue "#Lang.Copy", "Copy" propsetvalue "#Lang.Paste", "Overview" propsetvalue "#Lang.Open", "Open" propsetvalue "#Lang.LeavePlaylist", "Overview" i = 1 Timernumber = 0 If TimerManager.Recording Then propSetValue "#Recording.Status", "" else propSetValue "#Recording.Status", "inactive" end if propSetValue "#Recording.Description1", "" do while (i < 4 and Timernumber < TimerManager.Count) if TimerManager.Item(Timernumber).Recording then Text = mid(FormatDateTime(TimerManager.Item(Timernumber).Date,2),1,6)&" "&FormatDateTime(TimerManager.Item(Timernumber).StartTime,4)&" - "&FormatDateTime(TimerManager.Item(Timernumber).EndTime,4) & " " Text = Text & TimerManager.Item(Timernumber).description propSetValue "#Recording.Description"&cstr(i), Text i = i + 1 end if Timernumber = Timernumber + 1 loop do while (i < 4) propSetValue "#Recording.Description"&cstr(i), "" i = i+1 loop if TimerManager.NextRecordingTime = 0 then propSetValue "#Recording.Next", "not defined" else Timernumber = TimerManager.isTimerAt(TimerManager.NextRecordingTime) Text = mid(FormatDateTime(TimerManager.Item(Timernumber).Date,2),1,6)&" "&FormatDateTime(TimerManager.Item(Timernumber).StartTime,4)&" - "&FormatDateTime(TimerManager.Item(Timernumber).EndTime,4) & " " Text = Text & TimerManager.Item(Timernumber).description propSetValue "#Recording.Next", text end if end sub Quote Link to comment
Tüftler Posted September 19, 2013 Share Posted September 19, 2013 So wie ich das sehe füllt die den Datamanager mit den anstehenden Aufnahmen im DVBViewer Quote Link to comment
nuts Posted September 19, 2013 Share Posted September 19, 2013 (edited) Ja nur wieso und wozu? Wird die überhaupt aufgerufen? Interessant, die wird tatsächlich abgearbeitet sobald ein OSD-Fenster aktiv wird. Sehe ich ehrlich gesagt auch zum ersten mal. Aha in startrec.vbs und stoprec.vbs steht auch so einiges drin. Edited September 19, 2013 by nuts Quote Link to comment
Tüftler Posted September 20, 2013 Share Posted September 20, 2013 Die windowload.vbs kann man gut zum Starten von externen Scripten verwenden, die wird beim ersten Aufruf eines OSD-Fensters durchlaufen. Ich denke die ist damals einfach historisch gewachsen oder soll schlicht ein Beispiel darstellen. Stören tuts ja nicht. Quote Link to comment
nuts Posted September 20, 2013 Share Posted September 20, 2013 Sinn und Zweck der windowload.vbs ist soweit klar. Nur wird der Orginal-Code für irgendwas benötigt? Falls ja: wieso wurde das in die windowload.vbs ausgelagert? Würde eher vermuten, dass es sich um ein Relikt aus früheren Zeiten handelt. Dafür spricht auch mal die veraltete Funktion "propSetValue". Als reines Beispiel ist sowas doch ungeeignet. Wird ja ständig aufgerufen und unnötigerweise abgearbeitet. Quote Link to comment
Tüftler Posted September 20, 2013 Share Posted September 20, 2013 Ich glaube doch aber die wird nur beim Ersten Start des Viewers abgearbeitet. Wenn es dich stört schmeiß es raus, warum das drin steht entzieht sich meiner Kenntnis. Quote Link to comment
nuts Posted September 20, 2013 Share Posted September 20, 2013 (edited) Die wird immer aufgerufen sobald ein OSD-Fenster geöffnet wird. Würde das gern rausschmeißen, warte aber noch auf ein Stellungnahme der Entwickler ob das Nebenwirkungen haben könnte. Edited September 20, 2013 by nuts Quote Link to comment
dbraner Posted September 20, 2013 Author Share Posted September 20, 2013 Ich bin darüber gestolpert, weil ich selbst einige Aktionen ausführen lassen wollte beim Laden von einem bestimmten Fenster. Ich bin mir aber unsicher, ob ich den Kram einfach rausschmeißen kann bzw. kenne die Konsequenzen nicht. Interessant finde ich auch, dass die Variable am Anfang "ChannelID" benannt wurde. Spielt natürlich keine Rolle, aber sieht danach aus, als wäre der Code irgendwo her übernommen worden. Quote Link to comment
nuts Posted September 20, 2013 Share Posted September 20, 2013 Vielleicht wurden/werden die Einträge auch von einem Plugin/Addon gebraucht und man wollte das nicht fest verdrahtet im Hauptprogramm unterbringen?Kann mir nicht vorstellen, dass dort etwas wichtiges fürs Hauptprogramm geschieht.Bleibt mysteriös. Quote Link to comment
Tüftler Posted September 20, 2013 Share Posted September 20, 2013 (edited) Man kann alles entfernen bis auf sub main(ChannelID) end sub wenn die sub fehlt hagelt es beim OSD Aufruf folgenden Fehler Edit: Timer werden trotzdem angelgt, es fehlen aber logischerweise folgende Infos im Datamanger Recording.Status Recording.Description1 Recording.Description2 Recording.Description3 Recording.Next Edited September 20, 2013 by Tüftler Quote Link to comment
dbraner Posted September 20, 2013 Author Share Posted September 20, 2013 Ich halte das ganze für eine Krücke, die aus irgendwelchen Gründen in der Setup Datei gelandet ist. Habe das jetzt auch rausgeworfen. Ist programmiertechnisch Blödsinn, das bei jedem Öffnen eines OSD Fensters auszuführen. 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.