166
Ваши вопросы / Re: TM_CheckBox и его свойства
« : 30 Сентября 2020, 09:25:10 »
Добрый день!
Спасибо за разъяснения.
Спасибо за разъяснения.
Официальный форум Simple-Scada.
В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.
if CheckBox29.Variable.Value then
CheckBox29.Color := clLime
else
CheckBox29.Color := clAqua;
if CheckBox29.VariableEx.Value then
CheckBox29.BackgroundColor := $008040
else
CheckBox29.BackgroundColor := $003030;
procedure CheckBoxColoration(NeededCB:TM_CheckBox; Color1:?????; Color2:?????);
begin
if NeededCB.VariableEx.Value then
NeededCB.BackgroundColor := Color1
else
NeededCB.BackgroundColor := Color2;
end
... Поэтому Sender имеет общий тип данных "TM_Control". ... Sender необходимо явно привести к нужному типу....То есть
with Sender as TM_CheckBox do
Sender.BackgroundColor := $008040;
if Sender is TM_CheckBox then
with Sender as TM_CheckBox do
if VariableEx.AsBool = True then
begin
Sender.BackgroundColor := $008040;
end
else
begin
Sender.BackgroundColor := $003030;
end;
) работы пользователей:ss := 'Нет ';
s := DateTimeToStr(Now) + ss + 'сигнала';
if Assigned(aVar_LightWorking) then
begin
Button430.Variable := aVar_LightWorking;
end
else
begin
if FileExists(aNameFile.Value , '') then
begin
TextFileOpen(aNameFile.AsStr, '', fomAppend, fcpDefault);
TextFileWriteLn(s);
TextFileClose;
end;
AddMessage(Now, mkMessage, 'Нет переменной LightWorking', True, False);
Button430.Variable := Nil;
end;
13:53:50.892 | MasterOPC-UA LocalHost: подключен
13:53:50.954 | MasterOPC-UA LocalHost: аварийное отключение Socket Error # 10054
Connection reset by peer. on SendMessage
13:53:50.954 | MasterOPC-UA LocalHost: аварийное отключение Socket Error # 10054
Connection reset by peer. on SendMessage
13:53:50.986 | MasterOPC-UA LocalHost: отключен
13:53:50.986 | MasterOPC-UA LocalHost: отключен
13:53:51.048 | MasterOPC-UA LocalHost: ua start subscribe error: SSE005 - Empty UACallMonitoredItemCreate response
13:53:56.814 | MasterOPC-UA LocalHost: подключен
13:53:56.907 | MasterOPC-UA LocalHost: аварийное отключение Socket Error # 10054
Connection reset by peer.
13:53:56.907 | MasterOPC-UA LocalHost: аварийное отключение Socket Error # 10054
Connection reset by peer.
13:53:56.907 | MasterOPC-UA LocalHost: отключен
13:53:56.954 | MasterOPC-UA LocalHost: ua start subscribe error: SSE005 - Empty UACallMonitoredItemCreate response
13:54:02.736 | MasterOPC-UA LocalHost: подключен
13:54:02.782 | MasterOPC-UA LocalHost: аварийное отключение Socket Error # 10054
Connection reset by peer. on SendMessage
13:54:02.782 | MasterOPC-UA LocalHost: аварийное отключение Socket Error # 10054
Connection reset by peer. on SendMessage
13:54:02.845 | MasterOPC-UA LocalHost: отключен
13:54:02.845 | MasterOPC-UA LocalHost: отключен
13:54:02.939 | MasterOPC-UA LocalHost: ua start subscribe error: SSE005 - Empty UACallMonitoredItemCreate response
13:54:07.282 | etp_tc_insat_last | Буферы переменых успешно записаны в БД!
13:54:07.329 | InSAT.ModbusOPCServer.DA (localhost) - группа: "ssg20"
13:54:07.329 | MasterOPC-UA LocalHost: отключен
13:54:07.376 | Hibernation Unit Array OPC-UA Facade: отключен
13:54:07.376 | InSAT.ModbusOPCServer.DA (localhost) - группа: "ssg300"
13:54:07.376 | Weather Station OPC-UA Facade: отключен
13:54:07.423 | InSAT.ModbusOPCServer.DA (localhost) - группа: "ssg50"
13:54:07.470 | InSAT.ModbusOPCServer.DA (localhost) - группа: "ssg100"
13:54:07.517 | InSAT.ModbusOPCServer.DA (localhost) отключен;
13:54:07.564 | WAGO 750-8100 PFC100 2ETH ECO: отключен
13:54:07.626 | etp_tc_insat_last | деактивирован
13:54:07.986 | Average FPS: 21
13:54:08.236 | Timers to free: 3
13:54:08.236 | Fonts to free: 25
13:54:08.236 | Textures to free: 18
13:54:08.282 | End
...Это фишка или глюк.
Если основная переменная стоит в состоянии True, то изменения состояния второстепенной переменной влияют на объект.
Если основная переменная стоит в состоянии False, то изменения состояния второстепенной переменной ни как не влияют на объект.
...

procedure ChangeTextButton(NameButton:TM_Button; VarEx:TM_Variable; Caption_On:string; Caption_Off:string);
begin
if VarEx.Value = 1 then
begin
NameButton.States[1].Caption := Caption_On;
Text1606.Text := "Правда";
end
else
begin
NameButton.States[1].Caption := Caption_Off;
Text1606.Text := "Не Правда";
end;
end;
ChangeTextButton(Button427, sen2, 'Выключен', 'Выключается');