уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.

Сегодня столкнулся с каким-то непонятным и, пока, не постижимым для меня поведением TWebBrowser на форме приложения. Думал, что чего-то сам напортачил в проекте и из-за этого происходят какие-то глюки – проверил. Всё в норме – TWebBroser продолжает странно себя вести даже в новом проекте.

Для воспроизведения ошибки можно сделать следующее: создаем новый проект Delphi, кидаем на главную форму TWebBrowser, свойство Align устанавливаем в alBottom. Теперь запускаем приложение при этом даже не обязательно загружать в WebBrowser что-либо и начинаем менять размер окна.

При определенном сочетании значений Height и Width у главной формы WebBrowser пропадает с формы. При этом сам экземпляр TWebBrowser существует, свойство Visible остается в True, но сам WebBrowser никак не реагирует на изменение его свойств, Repaint’ы и т.д.

Теперь возвращаем браузер обратно – снова меняем размеры окна, но только в противоположную сторону. Опять же в какой-то момент на форму вываливается WebBrowser как чёрт из табакерки :)

Но и это оказалось ещё не все. При других значениях свойства Align у WebBrowser этот странный глюк не воспроизводится. Пробовал вертеть компонент на форме и так и сяк – только на alBottom начинаются проблемы.

Пока слушал онлайн радио, и разбирался с хитросплетениями работы TWebBrowser на форме нашел довольно элементарный костыль для решения проблемы. Если надо, чтобы WebBrowser был alBottom и не пропадал с формы – разместите его на панели (TPanel) и браузер перестанет пропадать.

Пока пробую разобраться с причиной возникновения проблемы, решил использовать “костыль”.

Может кто-нибудь уже сталкивался с такой проблемой? И, если сталкивались, то есть ли какие-нибудь идей почему так происходит?

Книжная полка

Описание: Рассмотрены практические вопросы по разработке клиент-серверных приложений в среде Delphi 7 и Delphi 2005 с использованием СУБД MS SQL Server 2000, InterBase и Firebird. Приведена информация о теории построения реляционных баз данных и языке SQL. Освещены вопросы эксплуатации и администрирования СУБД.
купить книгу delphi на ЛитРес
Описание: Рассмотрены малоосвещенные вопросы программирования в Delphi. Описаны методы интеграции VCL и API. Показаны внутренние механизмы VCL и приведены примеры вмешательства в эти механизмы. Рассмотрено использование сокетов в Delphi: различные режимы их работы, особенности для протоколов TCP и UDP и др.
купить книгу delphi на ЛитРес
0 0 голоса
Рейтинг статьи
уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.
Подписаться
Уведомить о
4 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии
nmd
nmd
05/04/2011 19:05

все так же)), но в Delphi 7 все норм. подобный глюк и с флеш плеером.

ter
ter
06/04/2011 13:15

есть некоторое подозрение, что раз уж свойство visible осается true, разрмеры длина\ширина не нулевые, а браузера не видно, то при выравнивании компонента с использованием align ошибочно выставляется позиция top/left унося его куда то за пределы формы.

Nikolay
Nikolay
29/03/2013 15:42

А подскажите, пожалуйста, как Вы меняете размер формы для устройства, это происходит в дизайнере или на девайсе/на симуляторе?
Если можно — прикрепите сампл с багой.