Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> потоки, создание компонентов 
:(
    Опции темы
Kirill89
Дата 4.1.2010, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 17.10.2006
Где: Питер

Репутация: нет
Всего: 4



Код

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public bool test()
        {
            try
            {
                WebBrowser a = new WebBrowser();
                a.Navigate("http://test.ru");
            }catch
            {
                ...
            }
        }
...
Thread t = new Thread(delegate() {
test();
});
t.Start();
...

выдаёт ошибку
Код

Message    "Создание экземпляра элемента управления ActiveX '8856f961-340a-11d0-a96b-00c04fd705a2' невозможно: текущий поток не находится в однопоточном контейнере."

почему? что делать?


--------------------
PM MAIL WWW   Вверх
tol05
Дата 4.1.2010, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 63
Всего: 170



примерно так
Код

public bool test()
        {
            try
            {
                Invoke(new MethodInvoker(() =>
                                          {
                                              WebBrowser a = new WebBrowser();
                                              a.Navigate("http://test.ru");
                                          }));
                
            }
            catch(Exception ex)
            {
                ....
            }

            ....
        }



--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
ivashkanet
Дата 6.1.2010, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



tol05, прокатит, но а толку то? На время заргузки страницы UI будет недоступен. Вся фишка потока будет потеряна. (не в курсе, останавливает ли Navigate работу своего потока или нет, но раз захотелось проделывать это в отдельном потоке, то неспроста smile )

Предлагаю сначала создать WebBrowser, а в потоке вызвать только Navigate (надеюсь ему UI поток не нужен)

P.S. Для получения многопоточности в формах лучше использовать BackgroundWorker:
http://www.rsdn.ru/article/dotnet/CSThreading2.xml#EEE
http://www.rsdn.ru/article/dotnet/WinForms20.xml#E3ZAG

По первой ссылке так же можно почитать зачем некоторые операции в WinForms обязательно должны выполняться в основном потоке.
PM MAIL WWW ICQ   Вверх
tol05
Дата 6.1.2010, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 63
Всего: 170



Цитата(ivashkanet @  6.1.2010,  10:03 Найти цитируемый пост)
tol05, прокатит, но а толку то? 


ivashkanet, я просто считаю что это был псевдо-код )
поэтому и предложил решение... абстрактное



Это сообщение отредактировал(а) tol05 - 6.1.2010, 11:39


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0444 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.