Повідомлення створено: 10. 11. 2023 [20:33]
|
Dzub
Влаислав Дзюба
Автор теми
Зареєстрован(а) с: 10.11.2023
Повідомлення: 3
|
Операційна система Ubuntu 22.04
Версія OpenScada 1.0, 0.96
Опис проблеми
Сторінка відкривається не в
контейнері а глобально.
При цьому в контейнері джерело
відкриття лишається пустим.
Умови виникнення
Періодичність - часто
Виникає виключно при
генерації події натиснення
на об'єкт в скрипті основної сторінки
Через attrSet("event", "key_mousePresLeft")
При безпосередньому натисненні на
об'єкт проблеми не виникає - сторінка
відкривається нормально.
Найчастіше виникає після змінення
користувача через userSetVis
|
Повідомлення створено: 10. 11. 2023 [22:19]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
"Dzub" wrote:
Умови виникнення
Періодичність - часто
У мене ніколи.
"Dzub" wrote:
Виникає виключно при
генерації події натиснення
на об'єкт в скрипті основної сторінки
Через attrSet("event", "key_mousePresLeft")
Це стандартна поведінка, тобто таке є у коді основної сторінки?
До речі, там є код демки, яка відкриває майже все і що НІКОЛИ не призводило до відкриття глобально!
"Dzub" wrote:
При безпосередньому натисненні на
об'єкт проблеми не виникає - сторінка
відкривається нормально.
Бо було-б давно виправлено.
Learn, learn and learn better than work, work and work.
|
Повідомлення створено: 27. 11. 2023 [14:46]
|
Dzub
Влаислав Дзюба
Автор теми
Зареєстрован(а) с: 10.11.2023
Повідомлення: 3
|
спробував рекомендований метод uiCmd таким чином:
ParList = this[LastKey].attr("evProc").split(":");
this.ownerSess().uiCmd("open", ParList[ParList.length-1], this.attr("path"));
Тепер ппроблема виникає стабільно. Раніше виникала тільки при зміні користувача.
Треба уточнити що ця команда викликається при відкритті сторінки в елементі BOX, прицьому сама сторінка включає в себе також елемент BOX, в якому має відкритися сторінка, що визивається через uiCmd
|
Повідомлення створено: 27. 11. 2023 [15:01]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
"Dzub" wrote:
Треба уточнити що ця команда викликається при відкритті сторінки в елементі BOX, прицьому сама сторінка включає в себе також елемент BOX, в якому має відкритися сторінка, що визивається через uiCmd
Таке не працюватиме і не повинно, бо коли ви відкриваєте першим кадр глибоко всередині, то для його вкладення-вбудови просто ще не існує-зареєстровано контейнеру.
Learn, learn and learn better than work, work and work.
|
Повідомлення створено: 27. 11. 2023 [15:20]
|
Dzub
Влаислав Дзюба
Автор теми
Зареєстрован(а) с: 10.11.2023
Повідомлення: 3
|
А як можно перевірити що контейнер вже створено?
|
Повідомлення створено: 27. 11. 2023 [15:31]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
"Dzub" wrote:
А як можно перевірити що контейнер вже створено?
Власне, не відкривати і не здійснювати жодних змістовних і зовнішніх дій у конструкторі (за f_start), бо тут сторінка може бути ще не доступна для зворотного підключення до контейнеру.
Потім, бажано використовувати одну головну сторінку, яка відкривається першою, а відтак і завжди доступна. Тобто не змінювати головну сторінку.
Стосовно перевірити, то Користувацьке API вам завжди у допомогу — http://oscada.org/wiki/Special:MyLanguage/Documents/User_API
Learn, learn and learn better than work, work and work.
|