УкраїнськаEnglishmRussian
Вхід/Новий
У темі багато повідомлень

[BugWrong] Помилка динамічного переходу між вікнами та злітання локальних змінних


Автор Повідомлення
Повідомлення створено: 07. 04. 2025 [18:02]
Dmytro_NF
Дмитро Ващенко
Автор теми
Зареєстрован(а) с: 29.05.2024
Повідомлення: 13
Версія 3018. Та сама помилка в діагностиці.

Зв`язування працює до моменту, коли починаються проблеми з відсутності сеансу, тоді все "пливе".
Вкладений файл

ErrorSess2.png (Тип файлу: image/png, Розмір: 28.53 кілобайтів) — 14 завантажень
Повідомлення створено: 07. 04. 2025 [18:12]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3769
"Dmytro_NF" wrote:

Версія 3018. Та сама помилка в діагностиці.

Тоді там не було жодних змін із r3009, які пов'язані із подібним підключенням, а як хочете переконатися, то й складіть собі r3009.

У будь якому разі для заявлення про помилку відтворюйте її на ДемоБД!

Learn, learn and learn better than work, work and work.
Повідомлення створено: 07. 04. 2025 [18:20]
Dmytro_NF
Дмитро Ващенко
Автор теми
Зареєстрован(а) с: 29.05.2024
Повідомлення: 13
Як раз таки, я маю і 3009 на одній вірт. машині, а на другій зараз 3018.
В 3009, не можу відобразити ту ж саму проблему, як на 3016-3018.
Тобто після відкриття через кнопку форми в 3009, при роботі з нею все добре - діагностика не містить ніяких проблем.
Повідомлення створено: 07. 04. 2025 [19:07]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3769
"Dmytro_NF" wrote:

Як раз таки, я маю і 3009 на одній вірт. машині, а на другій зараз 3018.
В 3009, не можу відобразити ту ж саму проблему, як на 3016-3018.
Тобто після відкриття через кнопку форми в 3009, при роботі з нею все добре - діагностика не містить ніяких проблем.


Мабуть це перечіпається через повні адреси у певних випадках:
JAVASCRIPT
// ... to source Widget/Page of opening this one Page
                        if((sev_path=attrAt("pgOpenSrc").at().getS()).size())
                            ((AutoHD<SessWdg>)mod->nodeAt(sev_path)).at().eventAdd(sevup);
                        // ... to the upper page


Хвилин через 40 оновіть збірку 2 r3018 для Debian 12 64 або 32!

Learn, learn and learn better than work, work and work.
Повідомлення створено: 07. 04. 2025 [19:12]
Dmytro_NF
Дмитро Ващенко
Автор теми
Зареєстрован(а) с: 29.05.2024
Повідомлення: 13
Дякую, чекаю
Повідомлення створено: 08. 04. 2025 [09:25]
Dmytro_NF
Дмитро Ващенко
Автор теми
Зареєстрован(а) с: 29.05.2024
Повідомлення: 13
Оновився, проблема з відсутністю сесії не з`явилася.

Але залишилась проблема зі злітанням змінної.

У мене є форма pg_Header, у якого в атрибутах є дві змінні через Input link (фото 1).
Також є віджети, при натисканні на які, викликається дана форма через :

ws_FocusIn:*:open:/pg_MainFunc/pg_BaseScr/pg_Misc/pg_Header

Також в них проводиться заповнення змінних які вказані у pg_Header як вхідні (Номер ПЛК та ім`я об`єкту).

Якщо я переходжу між розділами меню, то все працює коректно. Також при натисканні на різні кнопки, різних ПЛК, змінні номерів, відображаються коректно.
Але як тільки, я натискаю на будь який активний елемент на сторінці іншої форми, мої змінні в pg_Header переходять в <EVAL>, і вся логіка порушується.

На самих сторінках знаходиться Processing, який використовує Link до змінної pg_Header (Номер ПЛК), аби динамічно переписати теги під потрібний ПЛК.

Знову ж таки, на 3009 такого не було помічено.


[Повідомлення редагувалось 3 раз(ів), останній раз 08.04.2025 в 09:34.]
Вкладений файл

1.png (Тип файлу: image/png, Розмір: 9.97 кілобайтів) — 17 завантажень
Повідомлення створено: 08. 04. 2025 [09:59]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3769
"Dmytro_NF" wrote:

Але залишилась проблема зі злітанням змінної.

Це не проблема змінної, а зв'язку, щодо чого дивіться у вкладці "Зв'язки" контексту сеансу!

"Dmytro_NF" wrote:

Також є віджети, при натисканні на які, викликається дана форма через :

ws_FocusIn:*:open:/pg_MainFunc/pg_BaseScr/pg_Misc/pg_Header

Якщо по натисканню, то і використовуйте подію натискання, а не отримання фокусу, що доволі непевно!

Learn, learn and learn better than work, work and work.
Повідомлення створено: 08. 04. 2025 [10:39]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3769
"Dmytro_NF" wrote:

Також є віджети, при натисканні на які, викликається дана форма через :

ws_FocusIn:*:open:/pg_MainFunc/pg_BaseScr/pg_Misc/pg_Header

Власне це через "ws_FocusIn:*", тобто ви відкриваєте сторінку за отриманням фокусу від БУДЬ ЯКОГО джерела, а відтак колись це джерело те, що треба, і воно зв'язується із ним, а колись це джерело помилкове і без цільових змінних там, тобто зв'язки не встановлюються і повертається EVAL, як ознака відсутності зв'язку.

І ця-ВАША проблема вилізла-б за будь якої ревізії з часом, а тут вона просто раніше відтворилася через додання надсилання необроблених подій до джерела відкриття сторінки у r3013 (для можливості обробки усіх подій від панелей у викликачу як то для створених динамічно елементів). Тобто ws_FocusIn надходить двічі, спочатку від батьківської-кореневої сторінки, а потім від кнопки, чи що ви там клацаєте.

Тому ставте коректно адресу джерела, до якого сторінка має підключатися!

Learn, learn and learn better than work, work and work.
Повідомлення створено: 08. 04. 2025 [14:07]
Dmytro_NF
Дмитро Ващенко
Автор теми
Зареєстрован(а) с: 29.05.2024
Повідомлення: 13
Спробував змінити на key_mousePresLeft:
Результат залишився такий самий.
Повідомлення створено: 08. 04. 2025 [15:02]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3769
"Dmytro_NF" wrote:

Спробував змінити на key_mousePresLeft:
Результат залишився такий самий.

Адресу додали?

Learn, learn and learn better than work, work and work.



5437