Jump to content

Seltsame windowload.vbs


dbraner

Recommended Posts

Posted

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

Posted

So wie ich das sehe füllt die den Datamanager mit den anstehenden Aufnahmen im DVBViewer

Posted (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 by nuts
Posted

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.

Posted

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.

Posted

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.

Posted (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 by nuts
Posted

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.

Posted

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

Posted (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 by Tüftler
Posted

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.

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