Народ, помогите, пожалуйста, разрулить следующий конфликт.
Из главного потока Multi Thread Application (MTA) приложения AAA (unmanaged C++ code) надо вызвать WinForm (managed C#).
WinForm содержит WebBrowser control (видимо COM), который требует, чтобы процесс, из которого control создается, был STA (Single Thread Application).
Приложение компилируется, но при вызове WinForm и попытке создать WebBrowser control я получаю Exception:
ActiveX control 'GUID' cannot be instantiated because the current thread is not in a single-threaded apartment.
Можно ли что-нибудь придумать, чтобы главное приложение ААА оставалось MTA и WinForm использовал WebBrowser?
Заранее благодарен за любые идеи.
вызов WebBrowser control из MTA приложения
Правила форума
Пожалуйста, ознакомьтесь с правилами данного форума
Пожалуйста, ознакомьтесь с правилами данного форума
-
- Завсегдатай
- Сообщения: 251
- Зарегистрирован: 09 сен 2004, 23:58
- pika
- Частый Гость
- Сообщения: 17
- Зарегистрирован: 30 окт 2007, 09:26
- Откуда: Dnipropetrovsk,Ukraine
Re: вызов WebBrowser control из MTA приложения
а в чем причина, что главное приложение ААА должно остаться MTA?i_van писал(а): Можно ли что-нибудь придумать, чтобы главное приложение ААА оставалось MTA и WinForm использовал WebBrowser?
-
- Завсегдатай
- Сообщения: 251
- Зарегистрирован: 09 сен 2004, 23:58
Re: вызов WebBrowser control из MTA приложения
За проявленный интерес спасибо.pika писал(а):а в чем причина, что главное приложение ААА должно остаться MTA?
Разные причины: макро запускать для больших вычислений, ответов ждать во время коммуникации, чтобы User Interface не подвешивать...
Но проблему я уже разрешил. Оказалось что STA means Single Thread Apartment, что не совсем тоже самое что Single Thread Application.
- pika
- Частый Гость
- Сообщения: 17
- Зарегистрирован: 30 окт 2007, 09:26
- Откуда: Dnipropetrovsk,Ukraine
Re: вызов WebBrowser control из MTA приложения
ааа, гудi_van писал(а): проблему я уже разрешил. Оказалось что STA means Single Thread Apartment, что не совсем тоже самое что Single Thread Application.

кстати, может, и не точно по вопросу, но для общего понимания:
"Apartments and Pumping in the CLR"
http://blogs.msdn.com/cbrumme/archive/2 ... 66219.aspx
-
- Завсегдатай
- Сообщения: 251
- Зарегистрирован: 09 сен 2004, 23:58
Re: вызов WebBrowser control из MTA приложения
thanks.кстати, может, и не точно по вопросу, но для общего понимания:
"Apartments and Pumping in the CLR"
http://blogs.msdn.com/cbrumme/archive/2 ... 66219.aspx