Вход

Просмотр полной версии : Получение идентификатора или названия фрейма из кода



Dmitry Dedkov
20.06.2025, 16:56
День добрый коллеги. Начал изучать библиотеку Visu Utils и остальные связанные библиотеки. Стоит такая задача: написать обработчик событий клавиатуры, где навигация между фреймами будет выполняться посредством нажатия стрелок влево и вправо, стрелками вверх и вниз навигация по таблице. И возникла такая проблема: для переключения между фреймами мне надо как-то получить id или название фрейма (именно фрейма, а не экранов фрейма) тк не стоит задача делать веб или других визуализаций, кроме таргет-визуализации. Получить мне нужно что-то, что идентифицирует текущий фрейм, чтобы программа была уверена на какой следующий фрейм переключаться. Я разобрался как это делается внутри фрейма, но это не то что мне необходимо. Возможно я уже прошел эту часть в документе, но не так понял как применять. Поэтому обращаюсь сюда за подсказкой куда дальше копать. Изучаю все по этому документу https://ftp.owen.ru/CoDeSys3/98_Books/CodesysVisuIecCode.pdf#page=209&zoom=100,109,76

Евгений Кислов
20.06.2025, 17:04
Добрый день.


мне надо как-то получить id или название фрейма (именно фрейма, а не экранов фрейма)

См. 5.3.2 в указанном вами документе - речь же об этом?

Dmitry Dedkov
23.06.2025, 09:07
Нет, не то, понял, что с терминами напутал. Нужно получить название визуализации, тут я уже понял как. Есть еще один вопрос: а можно ли получить указатель на визуализацию или структуру визуализации (к примеру таблицу) и через него получить значение переменной выделенной строки (как я предполагаю через нее можно управлять перемещением по строкам таблицы)?

Евгений Кислов
23.06.2025, 10:25
Нет, не то, понял, что с терминами напутал. Нужно получить название визуализации, тут я уже понял как. Есть еще один вопрос: а можно ли получить указатель на визуализацию или структуру визуализации (к примеру таблицу) и через него получить значение переменной выделенной строки (как я предполагаю через нее можно управлять перемещением по строкам таблицы)?

О какой именно таблице речь? О стандартном элементе Таблица?

Dmitry Dedkov
23.06.2025, 10:45
Да. Или же все просто: задать переменные для выбранной и действительной строк?

Евгений Кислов
23.06.2025, 10:57
Да. Или же все просто: задать переменные для выбранной и действительной строк?

Да, именно так, как вы написали.

Dmitry Dedkov
24.06.2025, 10:37
Теперь другой вопрос. При повторном вызове фб VU.IterateClients должен же собирать информацию о клиентах заново? То у меня получается, что сбора информации о клиенте не происходит при повторной подаче сигнала на вход xExecute (пробовал и R_Trig и RS тригер, результат один и тот же, информация не обновляется, как будто клиент "застрял" на окне главного меню и не может переключиться на другие из-за этого) и CurrentVisu как было "MAIN_FRAME", так и остается

Евгений Кислов
24.06.2025, 11:14
Теперь другой вопрос. При повторном вызове фб VU.IterateClients должен же собирать информацию о клиентах заново? То у меня получается, что сбора информации о клиенте не происходит при повторной подаче сигнала на вход xExecute (пробовал и R_Trig и RS тригер, результат один и тот же, информация не обновляется, как будто клиент "застрял" на окне главного меню и не может переключиться на другие из-за этого) и CurrentVisu как было "MAIN_FRAME", так и остается

Свяжитесь со мной через телеграм, пожалуйста (см. в подписи).