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

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

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Темы - Pavel

Страницы: [1]
1
Здравствуйте!

Столкнулся с архитектурной задачей при проектировании интерфейса настроек. Пример выставляемого интерфейса прикрепил к сообщению.

Задача:
Необходимо сделать всплывающее окно (Pop-up) с большим количеством вкладок настроек (например: Общие, Секция подачи, Секция бака, Секция температуры и т.д.).

Проблема:
Если использовать одно Pop-up окно и менять видимость групп объектов (.Visible) по нажатию на кнопки-вкладки, то изменение происходит на стороне сервера и подменяет вкладку у всех подключенных клиентов одновременно.

Компонент TPageControl (Страницы) не поддерживается для размещения внутри Pop-up окон. Использовать подстраницы (SubPage) не получается, так как вызов окна происходит со страницы, которая сама уже является подстраницей (а вложенные подстраницы не поддерживаются). Вариант с дублированием окон (создание 5–10 идентичных окон Wnd_Tab1, Wnd_Tab2... и их поочередное открытие через ShowClient/CloseClient) сильно перегружает проект. Это сложно поддерживать: при любом изменении дизайна, добавлении нового элемента или правке скрипта приходится вручную дублировать изменения на всех созданных окнах.

Вопросы к разработчикам и сообществу:
Есть ли в текущих версиях Simple-Scada какой-либо штатный способ реализовать клиент-ориентированное переключение видимости компонентов / вкладок внутри одного Pop-up окна (без создания десятка дублирующих окон)? Какое архитектурное решение вы рекомендуете использовать в подобных случаях, чтобы не плодить кучу одинаковых окон и не усложнять поддержку проекта?

Заранее спасибо за ответ!

Страницы: [1]