对于没有界面,纯粹是导出功能函数的DLL,在使用ocx的功能时,退出总是报错,估计是ocx对象释放问题
我们不能像普通的ocx创建一样来使用它例如下面的语句,创建和使用没有问题,但是退出报错
clsCAXSecurity.Create(NULL, WS_CHILD, CRect(0,0,0,0), AfxGetMainWnd(), IDC_AXSECURITY_OCX)
clsCAXSecurity为ocx生成的类的对象
我们要创建一个对话框,然后在对话框中加入ocx对象,同时在对话框类中添加此ocx对象的变量clsCAXSecurity(注:在添加ocx变量时会同时生成ocx的导入类)
这样我们在调用的时候定义一个对话框类的的对象比如CDlgAXSecurity DlgAXSecurity;
然后可以像下面这样创建DlgAXSecurity
CLSID clsid;
CLSIDFromProgID(OLESTR("AXSECURITY.AXSecurityCtrl.1"), &clsid);
if (clsid != GUID_NULL)
{
if (DlgAXSecurity.m_hWnd == NULL)
{
DlgAXSecurity.Create(IDD_AXSecurity);
};
}
else
{
AfxMessageBox("AXSecurity.ocx可能未注册!");
}
调用ocx内的函数可以这样调用了DlgAXSecurity.clsCAXSecurity.ocx内的函数