Невызов обработчика OnHide в VCL10?
От: Властелин Котлет Россия  
Дата: 07.02.07 10:56
Оценка:
Недавно занимался переносом приложения из Borland C++ Builder 6 (vcl version 6) в Borland Turbo C++ 2006 Professional (vcl version 10), и обнаружил весьма странную вещь: при уничтожении формы не происходит вызыв обработчика события OnHide.

Был весьма удивлён, и опечален данным фактом.
Дело в том, что и в BCB5, и в BCB6 этот обработчик спокойно вызывался перед уничтожением формы.

Непонятно, невызов — это баг или фича?

В Delphi vcl version 10 формы ведут себя аналогичным образом?

Прошу срочно вправить мне мозг!

Для заинтересовавшихся привожу логи и исходные тексты тестовых программ:
Исходнички тестовых приложений: http://www.rsdn.ru/File/63344/MESSAGES_AND_FORMS.7z
Лог работы программы, собранной в BCB6: http://www.rsdn.ru/File/63344/TEST_BCB6_WXPSP2.TXT
Лог работы программы, собранной в Turbo C++ 2006 Pro: http://www.rsdn.ru/File/63344/TEST_TC2006_WXPSP2.TXT


Правила использования —
1) компилируем программу в соответствующей среде,
2) запускаем DbgView, или любимый отладчик, способный ловить отладочный вывод,
3) запускаем свежескомпилированную программу,
4) ждём несколько секунд, и закрываем окошко кнопой X,
5) смотрим лог.
//
C3 18 D5 C3 29 E3 CD 48 55 7A 33 33
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.