本人用vs2012写了一个OCX控件,并且写了一个.NET测试程序,用js调用时总是报对象不支持的属性或方法。也查阅了论坛相关的帖子,该做的都做了,但还是。。。发帖求助。。。
1.已按照【https://support.microsoft.com/kb/161873/zh-cn】增加了IE安全接口。
2.已签名,签名是公司买的,可以过IE认证。
3.在_DMFCActiveXControl1下右键增加方法。见下图。
4.WEB的相关代码:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<object id="objTest" classid="clsid:F978E975-6466-498C-A9ED-37B308A7B828"></object>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>ActiveX测试</title>
<script type = 'text/javascript'>
function FunTest() {
alert("test 1");
var iResult = objTest.ADD(1,2);
alert("test 2");
alert(iResult);
}
</script>
</head>
<body>
<div>
<button onclick="FunTest()"/>
</div>
</body>
</html>
5.管理员权限CMD执行 regsvr32 注册了控件。
6.方法的相关代码:
LONG CMFCActiveXControl1Ctrl::ADD(LONG Par1, LONG Par2)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
// TODO: 在此添加调度处理程序代码
return Par1 + Par2;
}
7.静态编译生成
等待大家的回复,万分感谢!