大佬教程收集整理的这篇文章主要介绍了silverlight调用ocx控件,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_607_23@Silverlight 与javascript交互,javascript与ocx控件交互,他们中间的数据传输采用 String类型的 xml数据流
在实践过程中遇到以下实际问题:
1> 在承载silverlight应用程序的页面,添加ocx控件的引用的标签必须有一个开始标志,和一个结束标志,(否则会出现,注册页面只能识别随意的一个ocx控件)classid 为这个ocx注册时的guid
<div id="Eye"><object id="EyeActiveX" classid="CLSID:49337F3E-983E-4D01-9D1C-9B9CA8F021AE"
style="display: none;"> </object> </div>
相应的javascript脚本:
<script language="javascript" type="text/jscript" defer="defer">
function checkEye(strXml) { //获取视力信息
try {
var obj = document.getElementById("EyeActiveX");
var returnValue = obj.GatherEyeValue(strXml);
return (returnvalue)
}
catch (E) {
alert("Error");
}
}
</script>
对应的silverlight页面语句:
String strXml=“......." ;//省略
object result = HtmlPage.Window.Invoke(“checkEye”,strXml); //以这个方法为例,我们返回的结果为一个String类型的xml字符串
拿到 result 我们就可以对他进行处理了
2> 在注册ocx控件时,由于ocx用的动态链接库的版本不一样,造成ocx控件的功能 不能成功的在裸机上运行,于是用到了以下两个 工具:
1. vcredist_x86.exe是针对于不同cpu所出的优化补丁执行程序,是一种基于C++的软件需要的库文件,有些程序在安装相应的vcredist文件环境下才能运行
2. depends.exe 是检测ocx等里面动态链接库的依赖关系。这里面如果ocx缺少的dll文件,都会显示error,作为检测人员的你,去网上下载相应的dll文件即可
3> 在运行承载silverlight的页面上,首次加载所有的ocx控件,ie8安全默认的级别使ocx控件无法加载,这个时候最 傻的 办法就是将每个客户机的浏览器的安全级别降至最低,(不过有实力的公司 可以将ocx进行安全认证)
以上是大佬教程为你收集整理的silverlight调用ocx控件全部内容,希望文章能够帮你解决silverlight调用ocx控件所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。