调一个外部COM对象,放在主进程中调用的时候没问题,但放在线程里面就调不起来了,请大家帮忙分析分析

langmafeng 2004-11-19 01:29:18
调一个外部COM对象,放在主进程中调用的时候没问题,但放在线程里面就死活调不起来了,现在又没办法跟踪到该COM对象内部去,请大家帮忙分析一下可能是什么原因造成的,谢谢
...全文
184 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
akkliam 2004-11-27
  • 打赏
  • 举报
回复
需要 先初始化com 吧 ?C#中 我没有用过 vc中好象是Initialize() 吧 忘记了
nga96 2004-11-26
  • 打赏
  • 举报
回复
对,估计是COM组件的问题,呵,我也不熟悉的
westfly 2004-11-25
  • 打赏
  • 举报
回复
说的是那个staticc main(){}入口.
zhoutian618 2004-11-23
  • 打赏
  • 举报
回复
up
langmafeng 2004-11-23
  • 打赏
  • 举报
回复
up
langmafeng 2004-11-23
  • 打赏
  • 举报
回复
up
langmafeng 2004-11-22
  • 打赏
  • 举报
回复
我查了一下COM的源文件,里面是有一句CoIntializeEx(NULL, COINIT_APARTMENTTHREADED),我代码改了一下:
MyThread myThread = new MyThread(.....);

Thread thread = new Thread(new ThreadStart(myThread.Init));
thread.ApartmentState = System.Threading.ApartmentState.STA;
thread.Start();

结果还是不行,这种情况该怎样调用呢?
langmafeng 2004-11-22
  • 打赏
  • 举报
回复
改不了啊

具有 ComImport 属性的类不能有用户定义的构造函数
属性“MTAThread”在该声明类型中无效。它只在“method”声明中有效。

westfly 2004-11-22
  • 打赏
  • 举报
回复
你自己的程序的入口方法修饰属性改成MTAThread再试试
xushili 2004-11-22
  • 打赏
  • 举报
回复
up
langmafeng 2004-11-22
  • 打赏
  • 举报
回复
up
langmafeng 2004-11-22
  • 打赏
  • 举报
回复
up
xiaoslong 2004-11-20
  • 打赏
  • 举报
回复
帮你顶一下
jedliu 2004-11-20
  • 打赏
  • 举报
回复
楼上说的有可能,因为这种情况或者是两者不匹配,或者是调用的方法不对。
westfly 2004-11-20
  • 打赏
  • 举报
回复
你的情况估计跟com的线程模式有关,是否single模式的
hivak47 2004-11-20
  • 打赏
  • 举报
回复
看看有没有进程的死锁。
Jeff20040819 2004-11-20
  • 打赏
  • 举报
回复
学习 接分
langmafeng 2004-11-19
  • 打赏
  • 举报
回复
up
bitzhw 2004-11-19
  • 打赏
  • 举报
回复
up
langmafeng 2004-11-19
  • 打赏
  • 举报
回复
up
加载更多回复(2)

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧