--------------------------------------------------------
VC++制作的ActiveX无法在ASP.Net中使用;
Web版的客户端引用该控件,与WinForm版的服务端进行通讯;
ActiveX用的是Debug版和Release版都试验过啦,不可以;
浏览器属性设置:
工具->Internet选项->高级->把禁用脚本调试复选框的勾都去掉啦; <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head> //没有加runat=server
<title>Web客户端 </title>
<script type="text/JavaScript" charset="gb2312">
function InitInterface()
{ //通过JavaScript调用ActiveX中的方法时,
//出现"对象不支持此属性和方法"的错误信息;
var Netocx=document.getElementById("NetVideo");
Netocx.InitPort(); //通过端口号启动客户端,并与服务端建立连接Netocx.SendCommand("192.168.1.1","SendMessage");
//在Web页面向WinForm版的服务端发指令
}
</script>
</head>
<body onload="InitInterface()">
<object id="NetVideo" classid="clsid:07163EA0-3BCF-4583-90B6-607BDF591111">
</object>
</body>
</html> ----------------------------
在WinForm中可直接通过
控件名称.InitPort(); 控件名称.SendCommand("192.168.1.1","SendMessage"); 的方式来使用控件里面的方法;
并且工具箱中可以看到新增加的控件;
Web中则看不到;
----------------------------
控件名称是NetVideo.ocx,在web中无法使用控件中封装的方法,
还有朋友讲要打包成CAB格式签名应用,不是手机版也要打包么?
请大家帮忙看下原因。 --------------------------------------------------------
VC++制作的ActiveX无法在ASP.Net中使用;
Web版的客户端引用该控件,与WinForm版的服务端进行通讯;
ActiveX用的是Debug版和Release版都试验过啦,不可以;
浏览器属性设置:
工具->Internet选项->高级->把禁用脚本调试复选框的勾都去掉啦; <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head> //没有加runat=server
<title>Web客户端 </title>
<script type="text/JavaScript" charset="gb2312">
function InitInterface()
{ //通过JavaScript调用ActiveX中的方法时,
//出现"对象不支持此属性和方法"的错误信息;
var Netocx=document.getElementById("NetVideo");
Netocx.InitPort(); //通过端口号启动客户端,并与服务端建立连接Netocx.SendCommand("192.168.1.1","SendMessage");
//在Web页面向WinForm版的服务端发指令
}
</script>
</head>
<body onload="InitInterface()">
<object id="NetVideo" classid="clsid:07163EA0-3BCF-4583-90B6-607BDF591111">
</object>
</body>
</html> ----------------------------
在WinForm中可直接通过
控件名称.InitPort(); 控件名称.SendCommand("192.168.1.1","SendMessage"); 的方式来使用控件里面的方法;
并且工具箱中可以看到新增加的控件;
Web中则看不到;
----------------------------
控件名称是NetVideo.ocx,在web中无法使用控件中封装的方法,
还有朋友讲要打包成CAB格式签名应用,不是手机版也要打包么?
请大家帮忙看下原因。 --------------------------------------------------------
换一台电脑又提示异常信息:
-------------------------
Internet Explorer 安全警告
Windows 已经阻止此软件因为无法验证发行者
名称:NetVideo.ocx
发行者:未知发行商
-------------------------
那就是数字签名的问题了,现在IE弄的很霸道,没有微软认证的签名的话就不给你的控件放行。
反正就是得给微软交钱。
之前我给我们公司做的控件也是这样,后来去弄了个签名就OK了。
另外,ActiveX控件要写个IObjectSafety的接口类这样的东东,是给IE调用,用来初始化控件的安全接口。否则IE运行也会有问题。这个东西去网上随便搜下一大堆,抄过来就是了,都是固定格式的。
服务器用的是C#版本的;用到海康采集卡的DLL文件;IObjectSafety的接口作用是用来初始化控件,以便被IE识别?