首页 新闻 搜索 专区 学院

c# 开发的activex本机运行正常,在其他计算机访问我的网站控件不显示,这是为什么?

0
悬赏园豆:30 [已关闭问题] 关闭于 2013-12-06 11:38

贴代码。。。。

先添加类库,再添加一个用户控件,用户控件上需要显示一张地图,因为是引用开源的,只需引用相关的dll就可以了。

继承的安全接口

[ComImport, GuidAttribute("CB5BDC81-93C1-11CF-8F20-00805F2CD064")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface IObjectSafety
{
[PreserveSig]
int GetInterfaceSafetyOptions(ref Guid riid, [MarshalAs(UnmanagedType.U4)] ref int pdwSupportedOptions, [MarshalAs(UnmanagedType.U4)] ref int pdwEnabledOptions);
[PreserveSig()]
int SetInterfaceSafetyOptions(ref Guid riid, [MarshalAs(UnmanagedType.U4)] int dwOptionSetMask, [MarshalAs(UnmanagedType.U4)] int dwEnabledOptions);
}

安装完文件。。。

网页js调用代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title></title>

<script type="text/javascript">
function passValue() {
document.getElementById("textValue").value = document.getElementById("x");
alert(x);
}
</script>
</head>
<body>
<object id="x" classid="clsid:B1CAE9D8-1849-401C-B393-4CC917255647" codebase="MapAcitiveX.CAB"></object>


</body>
</html>

还是那个部署在本机可以运行,换台机器就不行了,无法显示我的地图。

各位大神帮看看,下图这是我在别人那测试的

Danny@yang的主页 Danny@yang | 初学一级 | 园豆:145
提问于:2013-11-28 16:42
< >
分享
所有回答(3)
0

显示不了?猜你是在浏览器显示不了吧?这个需要在web服务端做个cab包,客户端会自动下载,然后就能显示了

空明流光 | 园豆:48 (初学一级) | 2013-11-28 23:02

cab包做了,自己的电脑上可以显示,换别人的就显示不了。。。

支持(0) 反对(0) Danny@yang | 园豆:145 (初学一级) | 2013-11-29 08:33

@Danny@yang: 那就不知道了,我十几年前做过ActiveX,印象中没有难点呀,估计CAB有问题。很久了,估计帮不你了,当时用的还是VB6

支持(0) 反对(0) 空明流光 | 园豆:48 (初学一级) | 2013-11-29 14:24

@沧海一杰: 还是很感谢。

支持(0) 反对(0) Danny@yang | 园豆:145 (初学一级) | 2013-11-29 14:27
0

可能是你用的localhost做的本地开发。

而部署上去就是用的域名。所以权限是通不过的。

本地开发是用的最高权限。域名访问就不行了

Giant Liu | 园豆:942 (小虾三级) | 2013-11-30 10:30

不是这个原因。。。

支持(0) 反对(0) Danny@yang | 园豆:145 (初学一级) | 2013-12-04 11:16
0

这几天测试了,有的还是可以,有的不行。打算不用cab打包了。。。

Danny@yang | 园豆:145 (初学一级) | 2013-12-06 11:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册