Добрый день, подскажите как победить проблему?
по нажатию на кнопку открывается окно Window1, на нём есть кнопки, к кнопкам привязан универсальный скрипт по изменению переменной для смены цвета. пробовал разные скрипты, не получается ничего.
begin
if not (Sender is TM_Object) then
Exit;
with (Sender as TM_Object) do
case AsInt of
0: Color := clRed;
1: Color := clGreen;
// else
// Color := clNone;
end;
end.
и такой пробовал
begin
if Sender is TM_Button then // проверяем, что Sender это объект
with Sender as TM_Button do // приводим Sender к типу "TM_Object"
if Variable.AsBool = true then //AsBool = true then // если значение переменной объекта равно 1, то
Color := clGreen // изменить цвет объекта на зеленый
else
Color := clRed ;
end.
и такой
begin
if Sender is TM_Object then // проверяем, что Sender это объект
with Sender as TM_Object do // приводим Sender к типу "TM_Object"
if AsInt = 1 then
//if AsBool = true then // если значение переменной объекта равно 1, то
Color := clGreen // изменить цвет объекта на зеленый
else // иначе
Color := clRed; // изменить цвет объекта на красный
end.
в общем когда открываю окно кнопки как были серые, так и остаются таковыми (независимо от текущего состояния привязанной переменной), пока не сделаешь вкл/выкл, нет изначальной информативности по состоянию переменной.
пробовал делать то же самое не в окне, а на другой странице. индикации нет, пока не переключишь туда-сюда, только тогда появляется индикация. НО когда переходишь на другую страницу и снова возвращаешься назад, то снова ничего не "подсвечивается"
подскажите пожалуйста как победить? нужен универсальный скрипт, потому что таких переменных около 10000.
использую arOPC без ограничений и simple-scada 2 без огрничений. последняя версия с режимом отладки.