Вызов немодальных окон

Обсуждение вопросов по разработке программ в среде продуктов копорации "Progress Software"
RN3anv
Новичок
Сообщения: 9
Зарегистрирован: 27 сен 2012, 17:41

Вызов немодальных окон

Сообщение RN3anv » 24 окт 2013, 12:49

В приложении, построенном на ADM2, есть окно с главным меню (ГМ) типа SmartWindow, из которого могут вызываться другие окна тоже типа SmartWindow. Между открытыми немодальными окнами можно перемещаться.

Обнаружилась непонятная штука.

Из ГМ вызываем окно 1, потом окно 2. Если закрыть их в обратном порядке – сначала окно 2, а потом окно 1, то всё нормально. А вот если сначала закрыть окно 1, а потом окно 2, то окно 1 из ГМ больше не открывается. Ошибок никаких не выдаётся, в логах чисто.

После перезапуска приложения доступность всех вызовов возобновляется до очередного перекрёстного закрытия. Только в списке коннектов к базе остаётся зависшая сессия.

Подозревал, что шалят неименованные WIDGET-POOL’ы, контексты которых теоретически могли пересекаться. Сделал их именными, не помогло.

Окна рисовал штатными средствами AppBuilder, версия 10.2B07.
Может кто сталкивался с такой проблемой? Как полечить?

пример программы вот тут:
https://drive.google.com/file/d/0B3M5aP ... sp=sharing

Аватара пользователя
dmi
Старожил
Сообщения: 1523
Зарегистрирован: 27 сен 2001, 03:00
Откуда: Москва

Re: Вызов немодальных окон

Сообщение dmi » 24 окт 2013, 13:47

/dmi

http://pro4gl.ru - 4gl блог

RN3anv
Новичок
Сообщения: 9
Зарегистрирован: 27 сен 2012, 17:41

Re: Вызов немодальных окон

Сообщение RN3anv » 24 окт 2013, 14:23

Во как! Даже кнопка вызова не обрабатывается! Не ожидал такого....

Добавил RUN ApplyEntry (?) в InitializeObject. Не помогло (((

Аватара пользователя
dmi
Старожил
Сообщения: 1523
Зарегистрирован: 27 сен 2001, 03:00
Откуда: Москва

Re: Вызов немодальных окон

Сообщение dmi » 24 окт 2013, 14:29

/dmi



http://pro4gl.ru - 4gl блог

RN3anv
Новичок
Сообщения: 9
Зарегистрирован: 27 сен 2012, 17:41

Re: Вызов немодальных окон

Сообщение RN3anv » 24 окт 2013, 15:11

В приведённом примере никак не управляю, просто создал окно, накидал кнопок, в них написал вызовы других окон. И всё.

Dilettante_Pro
Старожил
Сообщения: 98
Зарегистрирован: 24 мар 2010, 16:20

Re: Вызов немодальных окон

Сообщение Dilettante_Pro » 24 окт 2013, 15:27

Такой же точно эффект наблюдается и в простых Window, не Smart
И в версии 11.1
Дилетант построил ковчег, а профессионал - Титаник

Аватара пользователя
dmi
Старожил
Сообщения: 1523
Зарегистрирован: 27 сен 2001, 03:00
Откуда: Москва

Re: Вызов немодальных окон

Сообщение dmi » 24 окт 2013, 20:03

/dmi



http://pro4gl.ru - 4gl блог

RN3anv
Новичок
Сообщения: 9
Зарегистрирован: 27 сен 2012, 17:41

Re: Вызов немодальных окон

Сообщение RN3anv » 25 окт 2013, 09:30

В реальном приложении, как и в приведённом примере, нет необходимости управлять хендлом родителя.
Используются только внутренние механизмы ADM2.

Чтобы избежать подобных коллизий, прошу пользователей не открывать много окон и гасить их в обратном порядке.
Но это же ненормально (((

Аватара пользователя
dmi
Старожил
Сообщения: 1523
Зарегистрирован: 27 сен 2001, 03:00
Откуда: Москва

Re: Вызов немодальных окон

Сообщение dmi » 25 окт 2013, 10:53

/dmi



http://pro4gl.ru - 4gl блог

Dilettante_Pro
Старожил
Сообщения: 98
Зарегистрирован: 24 мар 2010, 16:20

Re: Вызов немодальных окон

Сообщение Dilettante_Pro » 25 окт 2013, 16:35

Дилетант построил ковчег, а профессионал - Титаник