用ATL开发COM组件,使用脚本调用该COM组件实例

来源:互联网 发布:便宜的淘宝cosplay店铺 编辑:程序博客网 时间:2024/04/30 12:45
 

一、创建ATL项目

      在VC++6.0工作平台中,点击菜单 File 下的 New 菜单项,在出现的 New 对话框中选中 Projects 卡片,在列表框中选中 ATL COM  AppWizard(活动模板库组件导航)。在Project Name 编辑框中输入项目名如 SimplePlusDll ,并选择合适的 Location 后,按确认按钮进入下一个对话框:ATL  COM  Appwizard  -  step 1 of  1,在 Server Type 中选择Dynamic  Link  Library 【DLL】 ,在按下 Finish按钮后,一个组件的框架已经建立。


二、添加COM对象

      在VC++ 菜单 Insert中选中New ATL  Object…菜单项,出现 ATL Object  Wizard 对话框。在左边的Category中选择Objects,右边的 Objects 中选中Simple  Object 项。按 Next 按钮。

      在出现的 ATL Object  Wizard 属性对话框中 Names 卡片中的八个编辑框中左上方的 Short Name 编辑框中输入短名如 FirstObj,其他七个编辑框的内容会自动生成。然后按确认按钮。

三、给组件添加函数

        在 VC++工作平台的左边的 Workspace 的 类视图中找到接口 IFirstObject项,右键,在出现的快捷菜单中选择Add  Method …,出现 Add  Method  to Interface 对话框。输入以下内容

Method Name:

Add   

Parameters:

([in] long n1,[in] long n2,[out,retval] long* pSum)

四、给add函数添加代码

        在类视图 中双击CFirstObject目录中的 IFirstObject   的Add,添加该函数的代码如下

    STDMETHODIMP CFirstObj::Add(long n1, long n2, long *pSum)
    {
      // TODO: Add your implementation code here
      *pSum = n1 + n2;
      return S_OK;
    }

五、编译工程后,VC 环境会自动注册我们的组件。

六、在javascript中调用该组件的Add函数

<script language="javascript" defer>               
        var a=100;

         var b=200;     

        
         var result;
         var Obj;
         Obj = new ActiveXObject("SimplePlusDll. FirstObj");
          result=Obj.Add(a,b);

          alert();
          alert(result);
       
</script>

将这段脚本保存成.js文件。双击该文件,即可运行调用COM的Add函数。