"Altes" ONAIR-Script funktioniert nur noch teilweise

Durch diesen Thread hier: Darstellung der Umlaute
Habe ich noch mal in der Scripting Help gesucht und nun endlich, die passende Abfrage gefunden, wie ich die selbst gesetzte Beschreibung lesen kann.
Weiterhin mit eingeflossen sind aus diesem Thread: Ansteuerung des OnAirScreen
Die RuntimeData zur Übergabe an ein weiteres Script, welches den OnAirScreen ansteuert.

Die Auskommentierte Zeile zeigt, wie man zusätzlich noch die Höreranzahl mit darstellen kann.

const
  iMax = 4;                // Hier die maximale Senderanzahl minus 1 einsetzen

var
  EncoderErrorCount,EncoderOldCount,EncoderCount, i: integer;
  EncoderName: array[0 .. iMax] of string;



procedure OnLoad;
  begin
    EnableTimer(800);
	EncoderOldCount := 0;
  end;

procedure OnTimer;
  begin
    EncoderOldCount := EncoderCount;
    EncoderCount := 0;
    EncoderErrorCount := 0;
    for i := 0 to iMax do
      begin
	     
         if (Encoder.GetConnections.GetItem(i).GetEnabled = true) then begin
          if (Encoder.GetConnections.GetItem(i).GetState = ecsConnected) then begin
            //ExecuteCommand('ENCODER'+ IntToStr(i) +' TEXT '+ Encoder.GetConnections.GetItem(i).GetCustomCaption +' ON AIR Hörer: '+ IntToStr(Encoder.GetConnections.GetItem(i).GetListeners));
            ExecuteCommand('ENCODER'+ IntToStr(i) +' TEXT '+ Encoder.GetConnections.GetItem(i).GetCustomCaption +' ON AIR');
            ExecuteCommand('ENCODER'+ IntToStr(i) +' BACKGROUNDCOLOR #FF0000');
            ExecuteCommand('ENCODER'+ IntToStr(i) +' FONTCOLOR #FFFFFF');
            EncoderCount := EncoderCount + 1;
            end	
          else if (Encoder.GetConnections.GetItem(i).GetState = ecsConnecting) then begin
            ExecuteCommand('ENCODER'+ IntToStr(i) +' TEXT '+ Encoder.GetConnections.GetItem(i).GetCustomCaption +' !OFF AIR!');
            ExecuteCommand('ENCODER'+ IntToStr(i) +' FONTCOLOR #FFFFFF');
            ExecuteCommand('ENCODER'+ IntToStr(i) +' BACKGROUNDCOLOR #FF0000');
            EncoderCount := EncoderCount + 1;
            EncoderErrorCount := EncoderErrorCount + 1;
            end  
          else begin
            ExecuteCommand('ENCODER'+ IntToStr(i) +' BACKGROUNDCOLOR #00FF00');
            ExecuteCommand('ENCODER'+ IntToStr(i) +' FONTCOLOR #000000');
            ExecuteCommand('ENCODER'+ IntToStr(i) +' TEXT '+ Encoder.GetConnections.GetItem(i).GetCustomCaption +' READY!');
            end
          end
      else begin
           ExecuteCommand('ENCODER'+ IntToStr(i) +' BACKGROUNDCOLOR #F0F0F0');
           ExecuteCommand('ENCODER'+ IntToStr(i) +' FONTCOLOR #848484');
           ExecuteCommand('ENCODER'+ IntToStr(i) +' TEXT '+ Encoder.GetConnections.GetItem(i).GetCustomCaption +' AUS');
           end;   
      	
	end;
	if EncoderCount = 0 then begin
      SetRuntimeData('EncoderStatus', 'false');
      end
      else begin
        SetRuntimeData('EncoderStatus', 'true');
    end;	
      if EncoderErrorCount = 0 then begin
      SetRuntimeData('EncoderError', 'WARN:');
      end
      else begin
        SetRuntimeData('EncoderError', 'WARN:Encoder Fehler!');
      end;	
end; 	    
  
	
  

begin
end.