MFC ActiveX控件问题
现在碰到这么个问题,请大家帮忙看看:
一个MFC 单文档程序,其中有COM编程(主要是实现OPC客户端),用的是CoInitialEX(NULL, COINT_MULTITHREAD)初始化
的COM库。应该算是MTA套间吧。现另有一个用MFC开发的ActiveX控件,不知道是STA还是MTA的,估计MFC开发的都是STA的?
在这个单文档程序里无法使用该ActiveX控件(比如,把该控件放在对话框上,程序运行后,该对话框就无法正常弹出了,跟踪发现
调用DoModal函数立即返回了),改成CoInitial(NULL)初始化COM库或者用COINT_APARTMENTTHREAD参数调用CoInitialEX的
话可以正常使用该ActiveX控件。
不知道这是不是所谓的套间的冲突,如果需要使用MFC开发的ActiveX控件,是不是必须用STA线程模型的COM库才行,有没有
办法修改该ActiveX控件,使得在CoinitialEx(NULL, COINT_MULTITHREAD)下可以正常运行? 因为不想盲目改成CoInitial()
来初始化,MSDN上面说不应该用它,应该使用CoInitialEx函数。
一个MFC 单文档程序,其中有COM编程(主要是实现OPC客户端),用的是CoInitialEX(NULL, COINT_MULTITHREAD)初始化
的COM库。应该算是MTA套间吧。现另有一个用MFC开发的ActiveX控件,不知道是STA还是MTA的,估计MFC开发的都是STA的?
在这个单文档程序里无法使用该ActiveX控件(比如,把该控件放在对话框上,程序运行后,该对话框就无法正常弹出了,跟踪发现
调用DoModal函数立即返回了),改成CoInitial(NULL)初始化COM库或者用COINT_APARTMENTTHREAD参数调用CoInitialEX的
话可以正常使用该ActiveX控件。
不知道这是不是所谓的套间的冲突,如果需要使用MFC开发的ActiveX控件,是不是必须用STA线程模型的COM库才行,有没有
办法修改该ActiveX控件,使得在CoinitialEx(NULL, COINT_MULTITHREAD)下可以正常运行? 因为不想盲目改成CoInitial()
来初始化,MSDN上面说不应该用它,应该使用CoInitialEx函数。
...全文
相关推荐
MFC制作ActiveX控件,解决了在实际使用中提示winocc.cpp出错的问题
MFC为创建ActiveX控件提供了强大的支持,但开发过程中可能会遇到一些常见的问题,如"winocc.cpp"错误。首先,我们来看MFC和ActiveX的关系。
MFC如何解决带Active X控件的程序不能在别人电脑上运行那个
### MFC如何解决带Active X控件的程序不能在别人电脑上运行的问题#### 背景介绍在开发基于Microsoft Foundation Classes (MFC)的应用程序时,有时需要使用ActiveX
MFC ActiveX控件实现图片在网页的显示
考虑到ActiveX控件的安全问题,应当限制其权限,避免执行可能导致安全风险的操作。2.
MFC ActiveX control (MFCActiveX).zip_mfc activex_mfc ativex例子
**MFC ActiveX 控件的挑战与注意事项:**- **安全问题**:由于ActiveX控件可以直接执行代码,因此可能存在安全隐患,需要谨慎处理用户输入和控件权限。
activeX.zip
解决这些问题通常需要对C++编程、MFC框架以及ActiveX技术有深入的理解。通过分析和调试提供的代码,结合文档指导,开发者可以解决串口通信的配置问题,使ActiveX控件在裸机环境中正常工作。



