我首先用VC下的MFC ActiveX ControlWizard开发了一个ActiveX控件,编译成releas的静态库版。在本地能用应用程序测试,一切正常。用cabarc打包,在WEB上发布,有下载的提示,但始终不能注册成功。找不到原因,很是苦恼。而且,着急使用。请大家帮忙解答下。我的INF文件:
[version]
signature="$CHICAGO$"
AdvancedINF=1.0[Add.Code]
hOcx.ocx=hOcx.ocx
MSVCRTD.DLL=MSVCRTD.DLL
MFC42D.DLL=MFC42D.DLL
MFCO42D.DLL=MFCC042D.DLL
CPdaCP.dll=CPdaCP.dll //调用的自己编写的DLL
DbfComm.dll=DbfComm.dll//调用的自己编写的DLL
[MSVCRTD.DLL]
file-win32-x86=hOcxcab
FileVersion=6.0.8168.0
RegisterServer=yes[MFC42D.DLL]
file-win32-x86=hOcxcab
FileVersion=6.0.8168.0
RegisterServer=yes[MFCO42D.DLL]
file-win32-x86=hOcxcab
FileVersion=6.0.8168.0
RegisterServer=yes[CPdaCP.dll]
file-win32-x86=hOcxcab
FileVersion=1.0.0.0
RegisterServer=yes[DbfComm.dll]
file-win32-x86=hOcxcab
FileVersion=1.0.0.0
RegisterServer=yes[hOcx.ocx]
file-win32-x86=hOcxcab
RegisterServer=yes
clsid={F5669F75-384D-44CF-8B41-6CF7CD6CE5B8}
FileVersion=1,0,0,0打包D:\>cabarc -s 6144 n hOcx.cab mfc42d.dll mfco42d.dll msvcrtd.dll cpdacp.dll dbfcomm.dll hocx.ocx hocx.inf
HTML中调用:
<object width="0" height="0" id="myocx" classid="clsid:F5669F75-384D-44CF-8B41-6CF7CD6CE5B8" codebase="http://mypc/hOcx.cab#version=1,0,0,0"></object>WEB浏览
http://mypc/default.html错误提示:不支持的属性或方法。
请大家帮忙。谢谢

解决方案 »

  1.   

    如果没有事,去看看我的杀手锏
    http://blog.csdn.net/gjd111686/gallery/27646.aspx
      

  2.   

    已经是静态编译的了。用应用程序测试没有问题,写在WEB页上后,有下载提示,但没有注册成功。
      

  3.   

    可能缺运行库,用depends跟踪以下了.
      

  4.   

    把这些东西放到新机器的system32下,用regsvr32手动注册,看能否成功,如果成功并正常运行说明你打包有问题,反之,包里缺少东西。
      

  5.   

    问题找到了,因为在OCX里静态调用了另外的一个自己封装的DLL