1
Ваши вопросы / Независимое переключение вкладок в окне для десктоп и веб клиентов
« : 04 Августа 2026, 16:01:31 »
Здравствуйте!
Столкнулся с архитектурной задачей при проектировании интерфейса настроек. Пример выставляемого интерфейса прикрепил к сообщению.
Задача:
Необходимо сделать всплывающее окно (Pop-up) с большим количеством вкладок настроек (например: Общие, Секция подачи, Секция бака, Секция температуры и т.д.).
Проблема:
Если использовать одно Pop-up окно и менять видимость групп объектов (.Visible) по нажатию на кнопки-вкладки, то изменение происходит на стороне сервера и подменяет вкладку у всех подключенных клиентов одновременно.
Компонент TPageControl (Страницы) не поддерживается для размещения внутри Pop-up окон. Использовать подстраницы (SubPage) не получается, так как вызов окна происходит со страницы, которая сама уже является подстраницей (а вложенные подстраницы не поддерживаются). Вариант с дублированием окон (создание 5–10 идентичных окон Wnd_Tab1, Wnd_Tab2... и их поочередное открытие через ShowClient/CloseClient) сильно перегружает проект. Это сложно поддерживать: при любом изменении дизайна, добавлении нового элемента или правке скрипта приходится вручную дублировать изменения на всех созданных окнах.
Вопросы к разработчикам и сообществу:
Есть ли в текущих версиях Simple-Scada какой-либо штатный способ реализовать клиент-ориентированное переключение видимости компонентов / вкладок внутри одного Pop-up окна (без создания десятка дублирующих окон)? Какое архитектурное решение вы рекомендуете использовать в подобных случаях, чтобы не плодить кучу одинаковых окон и не усложнять поддержку проекта?
Заранее спасибо за ответ!
Столкнулся с архитектурной задачей при проектировании интерфейса настроек. Пример выставляемого интерфейса прикрепил к сообщению.
Задача:
Необходимо сделать всплывающее окно (Pop-up) с большим количеством вкладок настроек (например: Общие, Секция подачи, Секция бака, Секция температуры и т.д.).
Проблема:
Если использовать одно Pop-up окно и менять видимость групп объектов (.Visible) по нажатию на кнопки-вкладки, то изменение происходит на стороне сервера и подменяет вкладку у всех подключенных клиентов одновременно.
Компонент TPageControl (Страницы) не поддерживается для размещения внутри Pop-up окон. Использовать подстраницы (SubPage) не получается, так как вызов окна происходит со страницы, которая сама уже является подстраницей (а вложенные подстраницы не поддерживаются). Вариант с дублированием окон (создание 5–10 идентичных окон Wnd_Tab1, Wnd_Tab2... и их поочередное открытие через ShowClient/CloseClient) сильно перегружает проект. Это сложно поддерживать: при любом изменении дизайна, добавлении нового элемента или правке скрипта приходится вручную дублировать изменения на всех созданных окнах.
Вопросы к разработчикам и сообществу:
Есть ли в текущих версиях Simple-Scada какой-либо штатный способ реализовать клиент-ориентированное переключение видимости компонентов / вкладок внутри одного Pop-up окна (без создания десятка дублирующих окон)? Какое архитектурное решение вы рекомендуете использовать в подобных случаях, чтобы не плодить кучу одинаковых окон и не усложнять поддержку проекта?
Заранее спасибо за ответ!