• 3812阅读
  • 6回复

怎么在工作线程里使用COM组件呢?求助 [复制链接]

上一主题 下一主题
离线darlings
 

只看楼主 倒序阅读 楼主  发表于: 2010-03-16
在UI线程里初始化COM,然后想在工作线程里使用它的接口,不知道该怎么弄,请高人指点一下,谢谢。
离线darlings

只看该作者 1楼 发表于: 2010-03-17
    wordActive = new QAxWidget;
    wordActive->setControl("Word.Application");
    QAxObject * documents = wordActive->querySubObject("Documents");

都放在UI线程里执行没有问题,把querySubObject放在工作线程里,documents得到的返回是0x00000000,求助。。。
离线benbenmajia

只看该作者 2楼 发表于: 2010-03-17
QT中提供的不是有关于COM的类
安然.....
离线benbenmajia

只看该作者 3楼 发表于: 2010-03-17
在不同的线程中
?
安然.....
离线benbenmajia

只看该作者 4楼 发表于: 2010-03-17
也许是因为QAX不是线程安全的吧
安然.....
离线darlings

只看该作者 5楼 发表于: 2010-03-17
QT这个东西还真麻烦。。。
离线dbzhang800

只看该作者 6楼 发表于: 2010-03-17
manual中说得很清楚,QWidget及其子类不可重入。

或许你需要的是 QAxObject 而不是 QAxWidget
快速回复
限100 字节
 
上一个 下一个