Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Плавающая форма. Тест. Выводы. (число прочтений - 948 )
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 247
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Плавающая форма. Тест. Выводы.
15. Марта 2019 :: 06:32
Печать  
Покрутил в тесте Плавающую форму, вполне респектабельный продукт требующий, при применении, выполнения определённых правил:

1. Вызывать форму в единственном экземпляре, т.к. система определяет это окно модальным, чем, по-сути, оно и является. В связи с этим, до момента его закрытия,  возникают сложности с определением активного контекста, т.е. При обращении к активному контексту будет возвращаться контекст плавающей (модальной) формы. Отсюда глюки с выпадающими меню, использующими активный реквизит активной формы!

2. В связи с первым понятно, что перед открытием дополнительной плавающей или модальной формы первая должна быть закрыта. Второе открытое модальное окно (а плавающая форма им и является) приводит к непредсказуемым последствиям.

3. Во-избежание исключительных ситуаций, закрытие плавающей формы должно происходить до(!) закрытия вызывающей формы.

После проведенного теста выяснено, что закрываясь плавающая форма, в отличии от модальной, не вызывает предопределенную процедуру ПослеЗакрытия(). И я убежден, решив эту проблему решаться и другие вытекающие проблемы, типа  поведения выпадающих меню уже после закрытия формы.

Альф, идея классная и востребованная и то как она реализована ты уже молодец. Может ещё чуть-чуть?...
« Последняя редакция: 15. Марта 2019 :: 09:20 - recop »  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Плавающая форма. Тест. Выводы.
Ответ #1 - 15. Марта 2019 :: 11:56
Печать  
Я же уже писал, что "чуть-чуть" не получится.
  

FormEx developer
Наверх
www  
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 247
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Плавающая форма. Тест. Выводы.
Ответ #2 - 16. Марта 2019 :: 09:18
Печать  
Да, ни одна открытая даже повторно плавающая форма на закрывается в процессе работы, закрытие происходит, только при завершении работы системы. Т.е. сколько раз обратился к плавающей форе, столько форм висит в памяти, так сказать, "недозакрытые". Это видно в отладчике, если поставить точку останова в процедуре ПослеЗакрытия().
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать