Guter Plan. ![]()
Vermutlich meinst Du: … und der Fader für Kanal 2 versehentlich nach oben gezogen wird.
Das läßt sich einfach so lösen, daß Fader 1 zunächst eine übergeordnete Zustandsvariable, sagen wir TTEnable, steuert. Der Rest funktioniert dann nur, wenn TTEnable auf true gesetzt ist. Das könnte etwa so aussehen (ich weiß nicht, was Dein Airlite mAirList beim Betätigen des Faders sagt):
var
TTEnable: boolean;
procedure OnLoad; // Beim Start erstmal FALSE setzen
begin
TTEnable:= false;
end;
procedure OnExecuteCommand(Command: string);
begin
if NOT TTEnable AND (Command = 'FADER 1 ON') then // einschalten bei Fader 1 auf
begin
TTEnable := true;
// weiteres, was bei offenem Fader 1 passieren soll
end
else if TTEnable AND (Command = 'FADER 1 ON') then // wieder ausschalten
begin
TTEnable := false;
// …
end;
if TTEnable then // nur, wenn TTEnable auf TRUE, also Fader 1 offen
begin
if (Command = 'FADER 2 ON') OR (Command = 'FADER 3 ON') then
begin
Execute Command('TALKTIMER RESET');
Execute Command('TALKTIMER START');
// …
end
else if (Command = 'FADER 2 OFF') AND (Command = 'FADER 3 OFF') then
begin
Execute Command('TALKTIMER STOP');
// …
end;
end;
end;
begin
end.
(Ungetestet.)
Gezeitete Grüße
TSD