Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 16 из 16

Тема: Траблы с диалогами

  1. #11

    По умолчанию

    У меня вроде получилось это запустить.

    Но! Метод, который вызывается при закрытии диалога (callback) запускается только если открываешь диалог через вызов функционального блока, а не через обычную кнопку на дисплее.

  2. #12
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,230

    По умолчанию

    Цитата Сообщение от ВладОвен Посмотреть сообщение
    У меня вроде получилось это запустить.

    Но! Метод, который вызывается при закрытии диалога (callback) запускается только если открываешь диалог через вызов функционального блока, а не через обычную кнопку на дисплее.
    Это ожидаемое поведение. Можно по нажатию на кнопку вызвать экземпляр данного ФБ с фильтром CurrentClient.

  3. #13

    По умолчанию

    Евгений, это НЕ ожидаемое поведение!

    Для вас оно ожидаемо!
    А для людей, у которых постоянно разряжается Айкос, которые записывают кружки в Телеге, делают фото с фильтрами - это ПИПЕЦ!

    И это всего лишь пост.действие при закрытии кастомного диалога!

    П.С.: Кстати, нужно еще сбросить флаг - fbOpenFeedbackDialog.xExecute. Кнопка его только взводит.

    ПП.С.: Ах, да... Мы сделаем это в самом методе закрытия диалога - DialogClosedWithTag!

    Огонь!
    Последний раз редактировалось ВладОвен; 11.10.2024 в 15:44.

  4. #14

    По умолчанию

    А вот еще вопрос "на засыпку":

    Вызывая кастомный диалог через ФБ fbOpenFeedbackDialog, я хотел бы чтобы поля диалога заполнились некими динамическими данными. Например, в диалоге я правлю строку из таблицы и хочу, что-бы данные из этой строки уже были вставлены в поля диалога.

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

    Как это реализовать?
    Наверное, через ф.блок
    VisuCallbackOpenDialog и его методы ActionDone и DialogOpened ? Мы ведь не просто так его создавали в проекте ?
    Последний раз редактировалось ВладОвен; 11.10.2024 в 16:32.

  5. #15
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,230

    По умолчанию

    Цитата Сообщение от ВладОвен Посмотреть сообщение
    Как это реализовать?
    Наверное, через ф.блок VisuCallbackOpenDialog и его методы ActionDone и DialogOpened ? Мы ведь не просто так его создавали в проекте ?
    Можно так. Можно через вход pbyDialogInterfaceData самого ФБ. Как удобнее.

  6. #16

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Можно так.
    Увы, нет. Через ФБ VisuCallbackOpenDialog и его методы ActionDone и DialogOpened не получается.

    Я вставил в эти два метода "свой спец.метод", который делает это пред.действие.
    Но походу эти два метода отрабатываются сразу же после (!) открытия диалога, а не до (!) его открытия.

    Как это проверить?
    1. Заполнить любые две строки в таблице (достаточно заполнить только первую колонку). Сохраняться, нажимая "ОК".
    2. Попробовать повторно редактировать эти строки. Не сохраняться, нажимая "Отмена".
    3. Будет видно, что данные предварительно вставляются в поля неправильно.


    Кнопка "R" вверху справа перезапускает ПЛК в исходное состояние (не сразу, а через 10 секунд).

    https://codesys.chu.by



    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Можно через вход pbyDialogInterfaceData самого ФБ. Как удобнее.
    Исследую этот способ.

Страница 2 из 2 ПерваяПервая 12

Ваши права

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