读书人

在Dll中是不是不可能放入ActiveX控件?

发布时间: 2012-04-05 12:42:39 作者: rapoo

在Dll中是不是不可能放入ActiveX控件?
我需要在Dll中放入一个MSComm控件,但是一放入运行就会出错,到CSDN上搜了一下,发现有很多人问这个问题,但是没有看到能解决的。有没有高手有解决的方法,或者是在Dll中放入ActiveX控件是不可能的?

[解决办法]
可以啊,我以前就放过在DLL里面啊.只不过不是MSCOMM.不知道你哪里没对.
[解决办法]
MFC 扩展DLL没一点问题。。。
[解决办法]
可以的:

BOOL CTestDllApp::InitInstance()
{
// TODO: Add your specialized code here and/or call the base class
/*if (!AfxOleInit())
{
AfxMessageBox( "ole ³õʼ»¯´íÎó ");
return FALSE;
}*/

AfxEnableControlContainer();//
return CWinApp::InitInstance();
}

[解决办法]
可以的,不过调用之前别忘了初始化COM的运行环境
AfxOleInit或者同样功能的函数.
[解决办法]
控件必须要有容器,要加上 AfxEnableControlContainer() 提供容器支持
[解决办法]
我也是想把webbrowser控件放在DLL里边,谁能说下思路或者给下例子,网络上找不到
[解决办法]
我在Dll中加入一个Falsh控件,加上 AfxEnableControlContainer() 后,在XP下工作正常了,但在WIN98下还是没反应(窗口都出不来),为什么??
[解决办法]
出错的应该是作为MSComm的容器的窗体创建时不完全成功所致,检查一下在窗体创建完后它的句柄是不是正常。

可以在它的构造函数里加一条调用该窗体的 Create 函数的语句,手工创建它的句柄。
[解决办法]
如果本机上没有相应的控件的DLL,当然就不会显示出来了.
另外的话控件在CREATE的时候,有可能会因为证书的原因而失败,可以直接拖一个ACTIVEX上去或者手动添加证书什么的.我用MSCHART的时候也碰到过,开始也是百思不得其解.

读书人网 >VC/MFC

热点推荐