QT在子线程中使用QAxWidget需要初始化COM的问题
来源:互联网 发布:有关网络犯罪的例子 编辑:程序博客网 时间:2024/05/16 08:23
最近碰到一个在子线程中使用QAxWidget不成功的问题,问题显示如下:
CoCreateInstance failure (尚未调用 CoInitialize。)QAxBase::setControl: requested control Excel.Application could not be instantiatedQAxBase::dynamicCallHelper: Object is not initialized, or initialization failed
出现这个问题的原因是在QApplication的主线程中,会自动初始化COM库,而新开辟的子线程不会自动初始化COM库,所以需要我们手动来初始化。
方法如下:
添加头文件
#include <windows.h>在线程开始的时候初始化COM库:
HRESULT r = OleInitialize(0);if (r != S_OK && r != S_FALSE){ qWarning("Qt:初始化Ole失败(error %x)",(unsigned int)r);}使用结束后需要释放掉:
OleUninitialize();
0 0
- QT在子线程中使用QAxWidget需要初始化COM的问题
- python在子线程中使用pyHook监控键盘无效,需要加pythoncom的初始化
- Qt通过QAxWidget来使用flash控件的问题
- QT中使用ActiveX控件、QAxBase、QAxWidget
- QT使用插件QAxWidget
- QT使用插件QAxWidget
- QT使用插件QAxWidget
- QT使用插件QAxWidget
- 关于Qt的QAxWidget
- Toast 在子线程中使用的问题
- windows下在Qt次线程中使用COM
- Qt使用QAxWidget播放FLASH
- 关于Qt在子线程中使用QMessageBox的折衷方法
- QAxWidget类的使用
- 在mfc 静态连接, 多线程编程时, com库, socket 的初始化, 需要在每个线程里对com库, socket 的初始化
- 多线程中使用COM组件时的初始化问题
- QT 线程中使用子线程操作注意事项
- 在子线程中初始化地图会出现的警告以及解决方法
- JSP学习总结
- 旋转字符串
- iOS 降级
- git中创建新的空白分支
- LeetCode273Integer to English Words
- QT在子线程中使用QAxWidget需要初始化COM的问题
- OCR:Tesseract开源库介绍&字符识别方法
- finereport 详细设计
- 详解zabbix安装部署(Server端篇)
- C++日期时间与字符串间的转换
- tcpcopy 实践-引流到lvs(full-nat)
- 如何更改博客的名称
- 字符串内建函数format()
- Linux内核工程导论——进程:内核与用户空间的进程通信