VC 无界面DLL调用ocx时退出出错问题

对于没有界面,纯粹是导出功能函数的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内的函数

你可能感兴趣的:(C/C++,VC技巧,VC界面相关,dll,null)