Jump to content

Seltsame windowload.vbs


dbraner

Recommended Posts

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

Link to comment

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 by nuts
Link to comment

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.

Link to comment

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.

Link to comment

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 by nuts
Link to comment

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.

Link to comment

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. :D

Link to comment

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 by Tüftler
Link to comment

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.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...