Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Цветовая схема не меяется  (Прочитано 4583 раз)

deldemo

  • Старожил
  • ****
  • Сообщений: 308
    • Просмотр профиля
Цветовая схема не меяется
« : 24 Января 2018, 17:29:42 »
Здравствуйте.
  Ребята не работает процедура SetColorSchemeClient в скрипте "Запуск проекта", проверил несколько раз на разных версиях S-S.  Если этот же скрипт привязать к кнопке по on click - все заводится без проблем.

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3217
    • Просмотр профиля
    • Simple-Scada
Re: Цветовая схема не меяется
« Ответ #1 : 24 Января 2018, 18:11:07 »
Здравствуйте.

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

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

Тогда сразу после авторизации пользователя будет задана цветовая схема.
« Изменён: 26 Мая 2018, 10:47:31 от Simple-Scada »

deldemo

  • Старожил
  • ****
  • Сообщений: 308
    • Просмотр профиля
Re: Цветовая схема не меяется
« Ответ #2 : 24 Января 2018, 21:53:35 »
Вот, как раз я явно и указывал клиента
Код: (delphi)
begin
  SetColorSchemeClient('TH03', csLightGrey13);
end.
Еще раз повторюсь, этот же код с кнопки работает
« Изменён: 26 Мая 2018, 10:47:43 от Simple-Scada »

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3217
    • Просмотр профиля
    • Simple-Scada
Re: Цветовая схема не меяется
« Ответ #3 : 24 Января 2018, 22:00:07 »
Он и не должен работать, мы написали об этом в сообщении выше:
Цитировать
Поэтому нужно указывать имя клиента явно, например: SetColorSchemeClient('my_client', csPurple); Но и этот вариант не подходит под данную задачу, т.к. клиенты подключаются к проекту после запуска проекта и нет смысла в смене цветовой схемы до подключения клиентов.
т.е. нельзя изменить цветовую схему на клиентах которые ещё не подключены.
« Изменён: 24 Января 2018, 22:01:10 от Simple-Scada »

deldemo

  • Старожил
  • ****
  • Сообщений: 308
    • Просмотр профиля
Re: Цветовая схема не меяется
« Ответ #4 : 24 Января 2018, 22:20:02 »
Все теперь дошло до жирафа. Спасибо !!!