Dieses Script starte ich per öffnen —> Script ausführen.
im Gesamten ist es in diesem Notification-Script verbaut:
[code]//Stand: august 07, Michael Schäl, radio StHörfunk
//die pfade der scripts sowie die schlüsselwörter für die suche müssen geändert werden.
procedure OnPlayerStart(PlayerControl: IPlayerControl; Item: IPlaylistItem);
var jingleImPlayer:boolean;
aktuelleStunde: integer;
begin
//hier wird geprüft, ob in einem Player werbung oder jingle ist
jingleImPlayer:=false;
if ((pos(‘Jingle’, PlayerControl.GetItem.GetTitle) <> 0) or (pos(‘Werbung’, PlayerControl.GetItem.GetTitle) <> 0) or (pos(‘Promo’, PlayerControl.GetItem.GetTitle) <> 0) or (pos(‘Allgemein’, PlayerControl.GetItem.GetTitle) <> 0) or (pos(‘Closer’, PlayerControl.GetItem.GetTitle) <> 0) or (pos(‘KWE’, PlayerControl.GetItem.GetTitle) <> 0) or (pos(‘News’, PlayerControl.GetItem.GetTitle) <> 0) or (pos(‘Reini’, PlayerControl.GetItem.GetTitle) <> 0) or (pos(‘Sommer’, PlayerControl.GetItem.GetTitle) <> 0) or (pos(‘Verkehr’, PlayerControl.GetItem.GetTitle) <> 0) or (pos(‘Trenner’, PlayerControl.GetItem.GetTitle) <> 0) or (pos(‘Werbespot’, PlayerControl.GetItem.GetTitle) <> 0) or (pos(‘Weihnachten’, PlayerControl.GetItem.GetTitle) <> 0) or (pos(‘Wetter’, PlayerControl.GetItem.GetTitle) <> 0) or (pos(‘Wochenende’, PlayerControl.GetItem.GetTitle) <> 0) or (pos(‘nachrichten’, PlayerControl.GetItem.GetTitle) <> 0) or (pos(‘AV’, PlayerControl.GetItem.GetTitle) <> 0))then
jingleImPlayer:=true;
aktuelleStunde:= StrToInt(FormatDateTime(‘hh’, now));
if (jingleImPlayer=false) and (CurrentPlaybackControl.GetAutomation) and (Engine.GetOnAir=false) then begin
if (DayOfWeek(now) = 1) or (DayOfWeek(now)=7) then
RunScript(‘D:\Scripts\wochenende.mls’)
else if (aktuelleStunde>=6) and (aktuelleStunde<=9) then
RunScript(‘D:\Scripts\morgen.mls’)
else if (aktuelleStunde>=10) and (aktuelleStunde<=13) then
RunScript(‘D:\Scripts\mittag.mls’)
else if (aktuelleStunde>=14) and (aktuelleStunde<=24) then
RunScript(‘D:\Scripts\abend.mls’)
else if (aktuelleStunde>=0) and (aktuelleStunde<=6) then
RunScript(‘D:\Scripts\abend.mls’)
end;
end;
begin
end.
[/code]
Habe es gerade auf einem “jungfräulichen” mAirList ausprobiert und auch den Fehler bekommen… (also jungfräulich im sinne von nach dem entpacken die Konfiguration nicht verändert )
Das ist aber sehr komisch, denn bei Thomas, für den das Script ist, kommt der Fehler auch…
Beide von dir geposteten Scripts erzeugen keine Fehlermeldungen…
Das oben gepostete Script funktioniert auch, wenn ich diese die Abfrage des OnAir-status rausmache (also in der IF-anweisung " and (Engine.GetOnAir=false)" rauslösche…
Scheint etwas tricky
Hast du sonst noch eine Idee?
Nimm bitte nochmal ein “minimales” Script, das einen Fehler erzeugt (also z.B. das mit dem GetOnAir) und probiere es mit dieser .exe hier aus: http://temp.weibert.de/debug.zip
Das ist eine spezielle mAirList.exe, die zusätzliche Debug-Informationen enthält (und dadurch ziemlich groß wird, nicht wundern!). Wenn du das Script über “Open -> Run Script” ausführst und der Fehler auftritt, müsste eine Dialogbox erscheinen, die neben der Fehlermeldung auch den Call Stack enthält. Du kannst die Daten dann in die Zwischenablage kopieren und hier reinstellen.
Fehler gefunden. Aus irgendeinem Grund war eine alte Quelldatei in den Sourcecode gerutscht, die für die Zuordnung der Script-Funktionen verantwortlich ist.