【发布时间】:2012-03-25 15:29:01
【问题描述】:
我开发了一个 MFC ActiveX 控件并创建了必要的 cab 文件和 inf 文件。它在 32 位 IE 中运行良好。当我尝试在 64 位 IE 中访问它时,它会提示我安装,但是当我尝试访问该函数时,它会在我调用该函数的行中出现错误消息“对象不支持此属性或方法”。我是否需要为 64 位 IE 做一些特别的事情?
解决方案
正如 yms 所述,我在 64 位模式下编译了我的控件并生成了 2 个 CAB 文件。我通过网页修改以下载相应的 CAB 文件
<script language="jscript">
document.write("<OBJECT width='600' height='300' id='ActiveXPowUpload' "
+ "CLASSID='CLSID:FB98CEED-9DE1-4517-B30C-CDA19C6D150B' ");
if(navigator.cpuClass.toLowerCase() == "x64") {
document.write("codebase='ActiveXPowUpload-x64.cab#Version=1,0,0,1'>\n");
} else {
document.write("codebase='ActiveXPowUpload-x86.cab#Version=1,0,0,1'>\n");
}
document.write("<param name='UploadURL' value='http://hostname/path/to/upload/script.aspx' />\n");
document.write("<param name='EnablePopupMenu' value='false' />\n");
<!-- other parameters -->
document.write("</OBJECT>\n");
【问题讨论】:
-
我想你创建了两个不同的 dll,每个 cpu 架构一个,对吧?
-
@yms 不,我只是在尝试一个 ocx 文件
标签: visual-c++ mfc activex