VC调用 JavaScript 难题:如何使当前程序的对象进入脚本

本文探讨了如何在VC中使用MS Script实现JavaScript与VC应用程序的双向调用。通过定义可以被JavaScript调用的类和对象,以及相应的方法,如Rectangle、MoveTo等,使得JavaScript能够操作VC的应用程序对象。通过示例代码展示了如何将VC对象引入脚本,从而扩展JavaScript的应用范围。
摘要由CSDN通过智能技术生成

本文所指的  JavaScript 为 MS Script,引入msscript.ocx 实现的,也就是ECMAScript(下载本例源代码)。从题目咋眼看来对于没有写过VC调用msscript.ocx的人来说不是很好理解,因为这样做似乎太容易了,何来难题?

例如写JavaScript实 现数值计算,例如: _variant_t outpar=pScriptControl->Eval(_bstr_t("1+4*5")); 这样的数值计算不涉及js调用脚本外部的对象,例子到处可见,但是应用范围非常窄小。也就是说,从现有的文献来看,用VC调用 JavaScript 都是 JavaScript 单向的,但是从来没见过把VC中的现有的对象交给 JavaScript 反过来调用(也就是双向调用)。有些人已经实现或者看到, JavaScript 可以通过 obj = new ActiveXObject(...);的方式,把用VC编写COM,然后让 JavaScript 创建调用,但是,这样new出来的对象,仍然不是VC应用的现有对象。如果要调用现有对象,需要通过被new的COM对象间接调用才行,而且应用程序被调 用的对象也是COM规范。如果通过COM来实现这个难题,应用程序结构比较复杂,JavaScript 创建COM,所创建的COM能访问应用程序对象。

所以要扩大 JavaScript 的应用范围,必须实现这样的

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值