Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Глюки при создании приложения в XE5


Автор: Vitus28 23.1.2015, 03:45
Доброго времени суток!
С давних пор писал на Delphi 6, но недавно был вынужден перейти на Rad Studio XE5. И столкнулся с некоторыми глюками (возможно это конечно не глюки, а я чего-то не знаю).
Для демонстрации я собрал минимальный пример. В проекте есть 2 формы: Главная и диалог (допустим форма аутентификации). Первой создается главная форма и на обработчике OnCreate создается диалог, который появляется на экране (до появления Главной формы). Нажимаем на кнопку (Ok или Cancel), диалог закрывается и появляется Главная форма.
Если такое приложение скомпилировать в Delphi 6, то всё замечательно работает и в Win XP и в Win 7. Но если это компилируется в XE5, то быть глюкам. Продолжать работу в Delphi 6 не вариант, так как используются компоненты, которые не поддерживают Delphi 6 (и доработать их, что бы они туда ставились и корректно работали, я не смог).

Глюк 1. Запускаем приложение. Появляется модальная форма и в taskbar Win 7 появляется иконка приложения. Если по этой иконке кликнуть левой мышкой (что бы свернуть), то она свернется (пусть не с первого раза, но это уже глюк 2), а вот развернуть ее назад тем же способом не получится. Почему?
Доп. к глюку 1. Вернуть окно назад можно через «Диспетчер задач» (по приложению правой мышкой, пункт меню «На передний план»). Ну или для это ситуации я написал костыль, если будет интересно, то выложу код и расскажу.

Глюк 2. Запускаем приложение. Появляется модальная форма и в taskbar Win 7 появляется иконка приложения. Если по этой иконке кликнуть левой мышкой (что бы свернуть), но окно сворачивается не с первого раза (а со второго или третьего)! Почему? 
Доп. к глюку 2. Если нажать на одну из кнопок, то появится главная форма и в первый раз она тоже свернется не с первого раза. Почему? Этот глюк я закостылить не смог (пока).

Знатоки, помогите. В чем я не прав? Или я чего-то не знаю про особенности программирования в XE? Заранее спасибо!

Автор: Illusion Dolphin 23.1.2015, 23:02
Попробуйте вместо .Free делать .Release

Автор: Vitus28 24.1.2015, 02:53
Цитата(Illusion Dolphin @  23.1.2015,  23:02 Найти цитируемый пост)
Попробуйте вместо .Free делать .Release 

Спасибо! Это позволяет победить Доп. глюк 2. Т.е. если использовать Release вместо Free, то главная форма сворачивается с первого раза

Автор: Vitus28 26.1.2015, 02:53
Цитата(Illusion Dolphin @  23.1.2015,  23:02 Найти цитируемый пост)
Попробуйте вместо .Free делать .Release 

Хотя более детальные тесты показали, что это не особо помагает

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)