Probleme mit einem Script

Habe hier mal ein Script versucht zu entwerfen, dass regelmäßig checkt ob einer mein Encoder ins Internet streamt. Habe 5 Encoder. Der erste und der letzte sind jeweils Airchecks, die anderen 3 Icecaststreams. Der erste ist ein Mitschnitt den man bei Bedarf manuell starten und auch wieder ausschalten kann. Der andere soll starten sobald einer oder mehrere der Icecastencoder verbungen ist, nicht nur eingeschaltet. Außerdem sollte bei Verbindung der ON AIR Status auf ON AIR gesetzt werden.

procedure OnStartup;
begin
	EnableTimer(250);
end;

procedure OnTimer;
begin
	if Encoder.GetConnections.GetItem(1).GetState = ecsConnected then
	begin
		ExecuteCommand ('ON AIR');
		Encoder.GetConnections.GetItem(4).SetEnabled(true);
	end
	else if Encoder.GetConnections.GetItem(2).GetState = ecsConnected then
	begin
		ExecuteCommand ('ON AIR');
		Encoder.GetConnections.GetItem(4).SetEnabled(true);
	end
	else if Encoder.GetConnections.GetItem(3).GetState = ecsConnected then
	begin
		ExecuteCommand ('ON AIR');
		Encoder.GetConnections.GetItem(4).SetEnabled(true);
	end
	else
	begin
		ExecuteCommand ('OFF AIR');
		Encoder.GetConnections.GetItem(4).SetEnabled(false);
	end;
end;	

begin
end.

Beim Starten von mAirlist bekomme ich keine Fehlermeldung, aber trotzdem funktioniert es nicht.

Vielen Dank schonmal im Voraus für eure Hilfe.

Gruß Henrik