TWebBrowser
уже загружает материал в отдельном потоке. Ваша программа должна оставаться отзывчивой во время загрузки. Это видно по тому, что часто задают URL-адрес, а затем ждут завершения загрузки:
WebBrowser1.Navigate(...);
while WebBrowser1.Busy do
Application.ProcessMessages;
Это использует ProcessMessages
, поэтому я не могу добросовестно рекомендовать его. Чтобы получать уведомление о завершении загрузки, вместо того, чтобы опрашивать, как этот код, обрабатывает событие OnNavigateComplete2
элемента управления. Помните, что событие может запускаться как для кадров, так и для главной страницы.
Если вы хотите отобразить страницу, то ваш элемент управления TWebBrowser
в любом случае не должен находиться в отдельном потоке, поскольку он подпадает под те же правила, что и любой другой элемент управления, используемый с VCL. Если вы просто используете элемент управления для загрузки страницы, тогда TWebBrowser
может быть излишним. Вы можете использовать Indy или встроенные функции загрузки файлов операционной системы. Их можно легко использовать в отдельных темах.