您的位置:首页 > 编程语言 > Qt开发

QT进程外COM组件之OCX控件华丽转身

2017-01-24 09:00 274 查看
项目上遇到问题:

1.32位进程空间不足,需要OCX分享自己的进程空间,或者OCX存在内存泄漏又无法控制 当然全部自己代码也可以考虑用64位进程解决

2.所调用的OCX不稳定 如客户端程序开发 ,如调用了不通的厂商的OCX且不通厂商的OCX的质量不统一,此时若OCX不稳定的话,就容易导致整个EXE跟着崩溃掉,导致所有的业务全部宕机,WEB页面调用OCX也会存在同样的问题。

如上情况:就可以考虑QT的进程外的COM组件的模式

若是MFC开发的OCX空间的话,若要支持进程外OCX的话,比较麻烦,合理的做法是用QT封装一层COM壳。

这种模式在操作系统侧面微软这边不通的控件的调用普遍,对于需要类似处理的模块采用这种模式倒是不失为一个比较理想的策略。

使用测试发现:

1.切换之后 信令传递比一个进程内稍慢 需要进一步研究问题原因。

2.若EXE进程中new多个COM组件的实例 COM组件只有一个进程。这点虽然暂时没有研究什么机制但是也不错的形态

WEB页面调用的ocx是否切换为COM组件之后是否支持调用,有待大神们验证。

提供一个思路处理问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: