贴代码。。。。
先添加类库,再添加一个用户控件,用户控件上需要显示一张地图,因为是引用开源的,只需引用相关的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>
还是那个部署在本机可以运行,换台机器就不行了,无法显示我的地图。
各位大神帮看看,下图这是我在别人那测试的
显示不了?猜你是在浏览器显示不了吧?这个需要在web服务端做个cab包,客户端会自动下载,然后就能显示了
cab包做了,自己的电脑上可以显示,换别人的就显示不了。。。
@Danny@yang: 那就不知道了,我十几年前做过ActiveX,印象中没有难点呀,估计CAB有问题。很久了,估计帮不你了,当时用的还是VB6
@沧海一杰: 还是很感谢。
可能是你用的localhost做的本地开发。
而部署上去就是用的域名。所以权限是通不过的。
本地开发是用的最高权限。域名访问就不行了
不是这个原因。。。
这几天测试了,有的还是可以,有的不行。打算不用cab打包了。。。