Проблемы таки - есть в Win64 вообще и в VCL - в частности. WM_Size - не всегда доходит. Потому что увеличился размер указателя и при большой вложенности контролов у MS где-то банально кончается стек. И в итоге сообщение до контролов банально не доходит. В результате получаем эффект того, что размеры формы (или другого контейнера) - изменились, а вот вложенные контролы - не пересчитали свои размеры. И дизайн формы - "поплыл". Скроллеры в воздухе повисли, ну и т.п. Причём проблема касается как Win32, так и Win64 приложений. Т.е. проблема зависит не от типа приложения, а именно от типа ОПЕРАЦИОННОЙ СИСТЕМЫ. Под которой приложение запускается.
Завтра я постараюсь найти ссылку на чужую статью, в которой детально описывается эта проблема.
А также постараюсь описать свой путь лечения VCL "на коленке".
Завтра я постараюсь найти ссылку на чужую статью, в которой детально описывается эта проблема.
А также постараюсь описать свой путь лечения VCL "на коленке".
Знаем, решали фиксом от Embarcadero http://cc.embarcadero.com/item/25646
ОтветитьУдалитьО как... Я отстал от жизни.. Ну что же - хорошо...
ОтветитьУдалитьПожалуйста, вы меня тоже натолкнули на полезные решения )
ОтветитьУдалить:-) Захотите пообщаться - пишите. Буду очень рад!
ОтветитьУдалитьНе скачал пока патч. Удовлетворите моё любопытство и ЛЕНЬ... Там патч исходников библиотеки или что-то ещё?
ОтветитьУдалитьТам модуль, который прописывается в .dpr файл проекта и внедряется (по другому и не скажешь) в обработку WM_SIZE для VCL контролов, заставляя эти сообщения обрабатываться в простом цикле а не рекурсивно.
ОтветитьУдалить