Довольно странные и специфически ошибка связанные с работой в потоке. 1) Webbrowser и потоки. Если запустить поток в котором компоненту Webbrowser задастся переход на адрес. пример Code: procedure Go(param:pointer);stdcall; begin form1.WebBrowser1.Navigate('http://ya.ru'); end; procedure TForm1.Button1Click(Sender: TObject); var thId:dword; begin thId:=CreateThread(nil,0,@go,nil,0,thId); end; выдает ошибку. Даже прога бывает падает. Причем проявилось тока на Win XP SP2 и SP3. НА Win 2003 - работает нормально. 2) аналогично предудущему через раз отображается inputbox вызываемый в потоке. Причем появляется сообщение типа, канвас не может быть отрисован. Если через except обработать исключение и заного попробовать повторить операцию то получается. При этом такой глюк независимо от винды
WebBrowser это ActiveX компонент, и следовательно работает очень специфично в потоках. Лучше всего его запускать только в главном потоке. А еще лучше - вообще не использовать.
VCL это однопоточная библиотека. Физически, её, конечно, можно дергать из других потоков, но результат будет обескураживающий. Обращайся из главного потока, например, через Synchronize()
Вообще WB я юзал для того чтобы нормально отображать картинки независимо от формата их. bmp,jpg,gif,png Да и облегчает загрузку с удаленных серверов в плане если используется ssl Но тутже проблема не только с WB но еще и с inputbox который основан тоже на vcl Хотя на win2003 всё пашет. Так что дело не в многопоточности. Проблема решена по простому - через посылку форме собственных сообщений и в обработчике стоят все действия.