首页 新闻 会员 周边

当前线程不在单线程单元中,因此无法实例化 ActiveX 控件

0
悬赏园豆:50 [已解决问题] 解决于 2011-10-09 22:57

最近遇到个十分棘手的问题 希望大家能帮忙解答下 语言C# WinForm

最近项目的程序修改 需要使用COM控件 由三个DLL组成 其中两个是语言包

由于前期项目已经在客户那里安装 只要能自动更新就行了 我们这个程序是的机制是先由一个项目的Splash窗体来自动更新 然后利用Assembly来反射动态加载登录窗体的那个项目 然后用Activator.CreateInstance来创建出登录窗体,我需要在登录窗体里加载COM控件,于是我在登录窗体里写了注册这个COM组件的方法也正常,但到了实例化那个COM组件时就报错:当前线程不在单线程单元中,因此无法实例化 ActiveX 控件,想了很多办法无法解决,希望大家帮忙解决下。

项目A为启动项目,在A中的启动窗体中利用Assembly反射项目B中的一个窗体,在项目B的这个窗体里注册COM,加载COM控件,代码执行到COM控件实例化时报错:当前线程不在单线程单元中,因此无法实例化 ActiveX 控件

暗夜之殇的主页 暗夜之殇 | 初学一级 | 园豆:200
提问于:2011-01-09 03:32
< >
分享
最佳答案
0

不在同一个线程,调用需要invoke

收获园豆:50
massinger | 小虾三级 |园豆:706 | 2011-01-12 14:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册