我怎么才能在我的javascript里面调用Com组件,急

victor_cui 2007-12-03 03:59:48
我实现了一个域名解析的com组件,注册名为ComDnsResolve.DnsResolve,已经使用VC测试通过,然后把他嵌入一个javascript文本当中,new ActivexObject('ComDnsResolve.DnsResolve'),这个javascript文本并不是用页面来解析的,而是需要用我自己的程序解析,于是我变使用微软IID_IActiveScriptParse解析器来解析,发现执行到new ActivexObject的时候就会抛出异常,难得微软的解析器IID_IActiveScriptParse不支持这种调用?还是有什么其他方法可以解决,如不使用com来完成dns解析?
...全文
198 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wshcdr 2008-07-02
  • 打赏
  • 举报
回复
UP
zhengq06 2008-07-02
  • 打赏
  • 举报
回复
UP
yjgx007 2008-07-02
  • 打赏
  • 举报
回复
必须是ActiveX组件,组件对象必须支持属性包接口,安全接口.
wshcdr 2007-12-05
  • 打赏
  • 举报
回复
不懂
victor_cui 2007-12-05
  • 打赏
  • 举报
回复
ding
victor_cui 2007-12-04
  • 打赏
  • 举报
回复
我的COM组件已经在网页中得到验证
var obj = new ActiveXObject("ComDnsResolve.DnsResolve.1");

function FindProxyForURL(url, host)

{

var ip = obj.dnsResolve(host);

alert(ip);

}

并且工作良好,但是把这段代码作为代理自动脚本使用(配置IE代理,指向该文件),则无论是IE还是我们使用IID_IActiveScriptParse都无法创建这个COM对象,不知道是为什么,或者是因为运行脚本的容器不支持ActiveX扩展?
还有,大家都知道dnsResolve是被自动脚本所支持的,IE也可以使用该脚本解析代理服务器,但是该函数却不是JS原生的语法,所以需要我们自己实现,不知道IE是怎么支持的,我使用COM无法达到这个目的

sjdev 2007-12-03
  • 打赏
  • 举报
回复
再加一句:
上面的js代码,保存成.js文件,双击执行即可。
如果你的method返回的是数字或字符串之类的信息,你可以用wscript的一些功能,如WScrip.echo(obj.method());

可以参考:
http://blog.csdn.net/sjdev/archive/2007/07/04/1677822.aspx
sjdev 2007-12-03
  • 打赏
  • 举报
回复
1.脚本调用,需要IDispatch支持,请问你的COM组件支持自动化吗?
2.可以先写一个js脚本,而不用通过程序解析脚本的方法来测试COM组件。
var obj = new ActiveXObject("progid");
obj.method();
jameshooo 2007-12-03
  • 打赏
  • 举报
回复
你的COM组件是ActiveX吗?
zhuyie 2007-12-03
  • 打赏
  • 举报
回复
需要实现脚本安全相关的接口,才能在脚本中调用组件的方法。

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧