script: GetAutomation

hi torben,

hab mal versucht, in ein script GetAutomation einzubauen

hier ein testscript:

var pc: IPlaybackControl;

begin
  if (pc.GetAutomation = true) then
    SystemLog('Automation an');
end.

als Fehler bringt er mir: Runtime error: (4,3) Could not call proc

meine recherchen im internet haben ergeben: “Could not call proc” deutet immer darauf hin, dass du ein nicht initsialisiertes Objekt benutzt.

was mache ich falsch?

grüße, michi

Sorry, hatte den Thread übersehen. Falls das noch aktuell ist, hier die Erklärung:

Du deklarierst zwar eine Variable vom Typ IPlaybackControl, die ist aber erstmal leer, bis du sie mit einem vernünftigen Wert (also der Referenz auf ein real existierenes PlaybackControl-Object) fütterst. Was du hier nicht tust.

Vermutlich reicht:

begin if (CurrentPlaybackControl.GetAutomation = true) then SystemLog('Automation an'); end.

Die Funktion CurrentPlaybackControl gibt das “aktuelle” PlaybackControl-Objekt zurück, also standardmäßig das der ersten Playlist. Wenn du es ganz elegant machen willst, lässt du dann noch den Vergleich mit “= true” weg, der ist überflüssig.

begin if CurrentPlaybackControl.GetAutomation then SystemLog('Automation an'); end.

Torben

Hi,

Danke für die Antwort…

bin zwischenzeitlich selbst draufgekommen… aber jetzt verstehe ich auch, warum man das so machen muss:)

grüße, michi