做过工控的人都知道,对脚本语言的支持是标准组态软件应具备的一个基本功能(如 iFix,组态王等)。如果我们用VB开发类似的功能,能实现吗?
想必大家都知道微软提供了 Micrsoft Script Control 1.0 控件,在 VB 版也见到了大家对这个控件的使用(如用 ExecuteStatement 方法执行脚本命令 ExecuteStatement (" msgbox “ 你好 ”” ) ??? )。但最重要的一点, ActiveX 脚本与宿主应用程序数据交互与传递,却没有完整的解决方案。
我也是探索了很长一段时间,才摸索出一点数据传递与交互的技巧,现在共享出来,供大家讨论研究。
示例程序介绍:
1、 首先加载 Micrsoft Script Control 1.0 控件。
对它基本上不用配置,默认语言 VBScript,对该部分的介绍请下载VBScript命令集 ( http://blog.csdn.net/yefanqiu 【叶帆资源】[03] VBScript指令集)
2、 添加一个窗体(frmTest),里面添加如下代码:
3、 添加一个模块(mdlBase),里面添加如下代码:
4、 添加一个类(clsScriptIO),类名为clsScriptIO,里面添加如下代码:
功能演示:
1、 参数传递(单击【传递参数演示】按钮,自动添加相应脚本代码。可以执行加减乘除等操作。
下图演示了错误捕捉(被 0 除错误)
2、对象操作(单击【对象操作演示】按钮,自动添加相应脚本代码。可以执行控件的赋值和背景色变化操作。
VBScript 使用 ActiveX(R)脚本与宿主应用程序对话。使用 ActiveX Script,浏览器和其他宿主应用程序不再需要每个脚本部件的特殊集成代码。ActiveX脚本使宿主可以编译 Script、获取和调用入口点及管理开发者可用的命名空间。通过 ActiveX Script,语言厂商可以建立标准脚本运行时语言。Microsoft 将提供 VBScript 的运行时支持。