1、开发商提供的dll,我基于这个dll开发了个ocx控件,所以说现在的ocx控件包含一个ocx和一个dll文件。
2、以前我还开发了个控件,也是基于dll的(我晕)。那次dll的调用是用lib调用的,所以包括一个ocx一个dll一个lib还有一个h文件
问题是:我把控件弄成所谓的ActiveX控件,在网站上调用。按钮,然后下载控件,然后自动注册。就可以用了。
我以前弄成cab也不能用,所以一直也是手动注册,感觉相当没劲。另外,在写ocx的时候有个自动注册代码,这个自动注册代码是怎么工作的。这个自动注册是不是web上的自动注册。我也写了自动注册。怎么不行。
look:CMegicCtrl:
     Read();
     Register();void CMegicCtrl::Register() 
{
//ActiveX控件的路径及文件名     
     LPCTSTR pszDllName="Megic.ocx";     
    //装载ActiveX控件      
      HINSTANCE hLib=LoadLibrary(pszDllName);          
    //获取注册函数DllRegisterServer地址      
     FARPROC   lpDllEntryPoint;         
     lpDllEntryPoint=GetProcAddress(hLib,_T("DllRegisterServer"));       
    //调用注册函数DllRegisterServer       
    if(lpDllEntryPoint!=NULL)       
    {      
     if(FAILED((*lpDllEntryPoint)()))      
{              
  FreeLibrary(hLib);       
  return;   
};      
   }   

解决方案 »

  1.   

    看看报什么错误,可以通过getlasterr取得错误号
    还有,我怀疑你的LPCTSTR pszDllName="Megic.ocx";   
    路径可能要用绝对路径,有可能没有找到!
      

  2.   

    我想明白的第一点首先是,,,,在web上完成自动注册是ocx控件的功能还在cab里边的功能。
      

  3.   

    我想明白的第一点首先是,,,,在web上完成自动注册是ocx控件的功能还在cab里边的功能。
      

  4.   

    我想明白的第一点首先是,,,,在web上完成自动注册是ocx控件的功能还在cab里边的功能。cab 中的 ini 要指定要注册哪个 dll,那么 IE 就会在下载 cab 后根据 ini 的配置注册 dll ,
    其实也可以做一个安装程序打包进cab,也是用 ini 配置下载后怎么安装。具体可以查查 ini 的写法
      

  5.   

    ini的写法,好。等我研究明白了再给分