Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 16

Тема: Открытие всплывающего окна по состоянию тэга

  1. #1

    По умолчанию Открытие всплывающего окна по состоянию тэга

    Коллеги, добрый день!

    Подскажите, пожалуйста, как можно открыть всплывающее окно когда некий тэг типа BOOL переходит из нуля в единицу? Что-то сам никак не раскопал...

  2. #2

    По умолчанию

    Я сделал открытие всплывающего окна через механизм "Триггер окна", все работает. Но у этого механизма есть недостаток - чтобы он работал, должно быть открыто окно внутри которого прописан триггер. В моем случае я вовсе не уверен что всегда будет так. Поэтому прошу подсказать более универсальное решение
    Последний раз редактировалось Hemann; 07.05.2023 в 10:54.

  3. #3

    По умолчанию

    И еще прошу подсказать, как можно отслеживать состояние окна (открыто, закрыто)? Что-то событий "Открытие окна" и "Закрытие окна" я не нахожу...

  4. #4

    По умолчанию

    Выделяете нужное окно: Легенда -> Вкладка 'События' -> Слева (+)

  5. #5

    По умолчанию

    Цитата Сообщение от Ready Посмотреть сообщение
    Выделяете нужное окно: Легенда -> Вкладка 'События' -> Слева (+)
    Спасибо! Только где тут события "Открытие окна" и "Закрытие окна" (или их аналоги)?
    Для форума.png

  6. #6

    По умолчанию

    Эти события есть в версии MS4D 1.3, в версии 1.3.1.31444 точно есть. По умолчанию они скрыты, добавляются ч/з "+".
    Для форума.png

  7. #7

    По умолчанию

    Цитата Сообщение от Hemann Посмотреть сообщение
    Я сделал открытие всплывающего окна через механизм "Триггер окна", все работает. Но у этого механизма есть недостаток - чтобы он работал, должно быть открыто окно внутри которого прописан триггер. В моем случае я вовсе не уверен что всегда будет так. Поэтому прошу подсказать более универсальное решение
    "Триггер окна" можно установить на главное окно, которое, обычно, открыто всегда. Если есть разграничение по ролям (например: диспетчер, оператор) и у каждой роли свое окно, и всплывающее окно необходимо для каждой роли, то "Триггер окна" нужно установить на каждое главное окно роли. Если есть окна, которые открываются в новой вкладке браузера, то также необходим этот триггер (при условии, что там нужно "Всплывающее окно"). И не забываем, что триггер необходимо сбросить, например, ч/з событие "Закрыть окно" или иным способом, в зависимости от логики.
    Другие способы есть, но несколько сложнее, нужно использовать программу, которая в результате также реализует триггер. Например, вместо "Всплывающего окна" использовать обычное окно и управлять его видимостью ч/з параметр. Есть нюанс, у окна не будет "Drag-and-drop".

  8. #8

    По умолчанию

    Спасибо! Но, опять же, есть еще нюанс. Если всплывающее окно открыто, а триггер сработает снова, то окно закрывается. И, соответственно, нужно как-то контролировать "открытость" окна. Уточню, что пока что разработку веду в версии 1.2. Ставил 1.3, долго плевался, и вынужден был вернуться на 1.2
    Последний раз редактировалось Hemann; 10.05.2023 в 14:55.

  9. #9

    По умолчанию

    Цитата Сообщение от Hemann Посмотреть сообщение
    Если всплывающее окно открыто, а триггер сработает снова, то окно закрывается.
    Нет. Окно не закроется. Или у Вас условие такое? Триггер будет работать только на открытие "Всплывающего окна". Если некий тэг перешел в состояние 'True', то сработал триггер, открылось "Всплывающее окно". Если тэг перешел обратно в 'False', триггер сбросился, но окно при этом остается открытым. Даже, если тэг снова перейдет в 'True', а потом снова в 'False', окно также будет открытым, т.к. данный триггер работает только на открытие "Всплывающего окна". Закрыть окно можно ч/з другой триггер, программу, (х) в интерфейсе, отдельную кнопку. Но при закрытии окна необходимо учитывать состояние тэга. Если он в 'True', то по логике окно закрывать нельзя, иначе оно не откроется до следующего срабатывания триггера. Разумеется, если это необходимо по условию. В версии MS4D 1.2 событие клика на (х), т.е. обычное закрытие "Всплывающего окна", отследить нельзя, но можно отключить этот (х) в действиях "Открыть всплывающее окно" -> "Разрешить закрытие", установить 'False'. А на замену можно разместить в окне кнопку / текст / что-либо еще, повесить событие клика мыши, в действиях выбрать "Закрыть окно" и условие закрытия, при котором тэг находится в состоянии 'False'.

  10. #10

    По умолчанию

    Может мы говорим о разных механизмах, но у меня повторное срабатывание триггера окна закрывает открытое. В прикреплении пробный проект, с которым я "играюсь". Кнопка "Управление_картинкой_1" пока отключена от открывания окон.
    Вложения Вложения

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Ответов: 4
    Последнее сообщение: 16.03.2023, 12:17
  2. открытие окна с трендами и передача параметров
    от jek815 в разделе ПЛК (среда MasterSCADA 4D)
    Ответов: 1
    Последнее сообщение: 11.01.2021, 13:47
  3. Открытие окна из дерева
    от spdif123 в разделе Master SCADA 4D
    Ответов: 3
    Последнее сообщение: 18.04.2020, 21:32
  4. открытие окна объекта
    от ANDREY2002 в разделе Master SCADA 3
    Ответов: 18
    Последнее сообщение: 12.08.2015, 14:55
  5. ошибка тэга
    от Адлан в разделе Master SCADA 3
    Ответов: 3
    Последнее сообщение: 20.11.2013, 21:37

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •