thr1 = new Thread(new ThreadStart(delegate()
{
some_function();
}));
thr1.Start();
Потоки
Заранее спасибо за ответ.
Передайте сам объект webBrowser1. В чем проблема? Чем вы поток запускаете, через BackgroundWorker?
Код:
вот, если изменить что-то из самого потока, тогда все норм:
Код:
this.Invoke(new ThreadStart(delegate()
{
webBrowser1.DocumentText = "";
}));
{
webBrowser1.DocumentText = "";
}));
а получить в потоке webBrowser1.Document.DomDocument не выходит :(
в some_function у меня цикл, при каждом проходе нужно изменять данные в WebBrowser, то есть совершать какие-то переходы и затем получать эти данные.
Запустите поток с параметром:
Передал thr1.Start(webBrowser1.Document.DomDocument);
Но теперь не работает:
\\data передаваемый объект
IHTMLWindow2 frame;
IHTMLDocument2 doc = (IHTMLDocument2)data;
frame = (IHTMLWindow2)doc.frames.item(1); \\ Ошибка: Заданное приведение является недопустимым.
То есть достучаться до самого документа получается, с этим проблем нет, а вот до фрейма не получается. Может я что-то не так делаю?
А зачем вообще в последней строке приведение? У вас же frame объявлен как IHTMLWindow2, и item() возвращает тот же тип.
действительно, вы правы, но роли это не играет. Ошибка не пропала
Всем спасибо, вместо потока, который задействовал из-за реализации "нормальной" паузы, реализовал все с помощью таймера(ов). Большое спасибо за ответы.