PDA

Просмотр полной версии : Открытие окна из дерева



spdif123
17.04.2020, 17:18
Здравствуйте, коллеги.
Кто-нибудь может подсказать как решить следующую задачу:
MS4D поддерживается открытие окон только по события из графического интерфейса. Как открыть окно из кода?
Например, по истечению таймаута (вычисляется в ST) мне надо вывести диалоговое окно пользователю с выбором дальнейшего действия?
Вроде бы здесь могли помочь триггеры, но они работают только когда открыто соответствующее постоянное окно.

b_aleks
18.04.2020, 11:26
Создайте триггер в шаблоне экрана, тогда ваше всплывающее окно всегда будет поверх текущего открытого окна.

spdif123
18.04.2020, 17:41
Создайте триггер в шаблоне экрана, тогда ваше всплывающее окно всегда будет поверх текущего открытого окна.
Триггер в шаблоне экрана нарушает объектный подход разработки проектов (делает группа разработчиков, каждый делает свой объект со своим окнами, трендами, отчетами и т.д.).

b_aleks
18.04.2020, 21:32
Интересно, каким же образом нарушается объектный подход? В статье "Параллельная разработка проекта" справки MasterSCADA 4D явно написано, что:


Шаг 5
После этого в дерево объектов необходимо вставить библиотечный экземпляр.

В результате выполнения этих действий появится диалог восстановления связей, позволяющий восстановить связи с деревом системы. Далее, необходимо настроить связи между объектами разных разработчиков, создать стартовое окно и приступить к совместной отладке проекта.

Достаточно скопировать триггеры из одного проекта в другой, а при вставке библиотечного объекта связи будут автоматически восстановлены. Также разработчикам желательно договориться о едином названии узла и об уникальных названиях триггеров.