MTAThread & DragnDrop & COM Interop in .Net 2.0
От: Oliver Украина  
Дата: 20.07.07 14:08
Оценка:
Всем привет!

Я столкнулся со следующей задачей, которую не могу разрулить вот уже второй день.

Условие:
Есть приложение А(С# .NET 2.0 WinForm MDI DragnDrop), которое работает с COM объектами COM-приложения В (VС++ 6.0). Объект из приложения В запускает длительный процесс. При этом приложение А замерзает на время выполнения длительного процесса.

Вопрос:
Как запустить выполнение метода с длительным выполнением в фоновом потоке, если при попытке запустить метод из созданного фонового потока замерзают оба потока?

Дополнительные условия:
Атрибут потоковой модели приложения А — STAThread. Если установить MTAThread приложению А, тогда все работает. Но. При установке MTAThread DragnDrop не регистрируется, так как вызов OLE возможен только с установленным STAThread атрибутом.

Любые идеи или компромиссные решения приветствуются.

Пожалуйста поделитесь своими мыслями.

Заранее благодарен ВСЕМ!!!

Хороших выходных.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.