使用JS/VBS来测试你的COM组件

 

       最近又看了一遍去年的这个时候所买的COM类的书籍,对COM有了更深一层的认识。记得去年的这个时候还只知道接口和对象,只知道类型标识符和接口ID,只知道...^.^

      前些日子公司让我做一个控件,因为功能很简单,所以没几天就完成了。这个控件是用来在IE中使用的,所以我就把它做成了COM组件。客户在使用我的控件的时候,他们使用JavaScript来调用其中的函数,为了能和客户的思路一致,我简单地学习了一下JScript。JScript和JavaScript基本是一样的,使用JScript的好处是:我只需要写测试脚本,不用再写测试用的Web页。因为能在WScript和CScript宿主中运行的脚本,简单修改都能在宿主IE中运行,而我控件的接口函数是脚本无关的,所以我完全不用担心我的控件在WScript/CScript中能正确调用而在IE中不能正确调用的问题。

      以下是我所使用的测试脚本,考虑到保密的问题(公司利益),所以我修改了一下其中的语句,但这不会对脚本本身造成任何影响。JScript和VBScript都非常简单易学,用他们来测试COM组件再合适不过,希望我的代码对那些想通过简单方法来测试COM组件的人有用。     

//  This is a part of the DemoApp control
//
 Copyright (C) 2007 BeiJing XXX Limited Corporation
//
 All rights reserved.
//
//
 This source code is only intended as a demo of using DemoApp
//
 control in JScript. It works in WScript/CScript script host
//
 environment only. You can write you own code like this so
//
 that they can work in the Internet Explorer.
//

main();
function  main()
{
   
try{
         
var DemoApp, bOK, rnd;
         DemoApp 
= new ActiveXObject("DemoApp.DemoCtrl");
         bOK 
= DemoApp.isInstalled();
         
if (bOK){
        WScript.echo(
"已经安装!");

            ver 
= DemoApp.getVersion();
            vmx 
= (ver >> 8& 0xff;
            vmn 
= ver & 0xff;
            WScript.echo(
"Version:"+vmx.toString()+"."+vmn.toString());
         
            WScript.echo(
"""+DemoApp.getString(050)+""");

            
var name = DemoApp.getName();
            WScript.echo(
"""+name+""");

            
var pass = DemoApp.getPassword();
            WScript.echo(
"""+pass+""");

            
var seek = DemoApp.getSeek();
            WScript.echo(
"""+seek+""");      

      }

   }
catch(e){
      WScript.echo(e);
  }

}




你可能感兴趣的:(01.,C++)