Simple-Scada forum

Simple-Scada 2 => Ошибки => Тема начата: deldemo от 24 Января 2018, 17:29:42

Название: Цветовая схема не меяется
Отправлено: deldemo от 24 Января 2018, 17:29:42
Здравствуйте.
  Ребята не работает процедура SetColorSchemeClient в скрипте "Запуск проекта", проверил несколько раз на разных версиях S-S.  Если этот же скрипт привязать к кнопке по on click - все заводится без проблем.
Название: Re: Цветовая схема не меяется
Отправлено: Simple-Scada от 24 Января 2018, 18:11:07
Здравствуйте.

Ошибки здесь нет. Вероятно Вы вызываете смену цвета так: SetColorSchemeClient(GetClientName, csPurple); Но скрипт с типом события "Запуск проекта" вызывается сервером, а не клиентом. Соответственно GetClientName не сработает, т.к. неизвестно имя какого клиента нужно получить. Функция GetClientName работает только в скриптах, которые вызываются клиентом (например клик по кнопке) (см. руководство (https://simple-scada.com/help/script/getclientname.html)). Поэтому нужно указывать имя клиента явно, например: SetColorSchemeClient('my_client', csPurple); Но и этот вариант не подходит под данную задачу, т.к. клиенты подключаются к проекту после запуска проекта и нет смысла в смене цветовой схемы до подключения клиентов.

Для решения задачи нужно использовать скрипт с типом события "Авторизация пользователя". У таким скриптов есть параметр "auClient" который хранит имя клиента с которого производится авторизация. Код должен быть таким:
Код: (delphi)
begin
  SetColorSchemeClient(auClient, csPurple);
end.

Тогда сразу после авторизации пользователя будет задана цветовая схема.
Название: Re: Цветовая схема не меяется
Отправлено: deldemo от 24 Января 2018, 21:53:35
Вот, как раз я явно и указывал клиента
Код: (delphi)
begin
  SetColorSchemeClient('TH03', csLightGrey13);
end.
Еще раз повторюсь, этот же код с кнопки работает
Название: Re: Цветовая схема не меяется
Отправлено: Simple-Scada от 24 Января 2018, 22:00:07
Он и не должен работать, мы написали об этом в сообщении выше:
Цитировать
Поэтому нужно указывать имя клиента явно, например: SetColorSchemeClient('my_client', csPurple); Но и этот вариант не подходит под данную задачу, т.к. клиенты подключаются к проекту после запуска проекта и нет смысла в смене цветовой схемы до подключения клиентов.
т.е. нельзя изменить цветовую схему на клиентах которые ещё не подключены.
Название: Re: Цветовая схема не меяется
Отправлено: deldemo от 24 Января 2018, 22:20:02
Все теперь дошло до жирафа. Спасибо !!!