您的位置:首页 > 编程语言 > Qt开发

C#编译DLL文件供VScript或QTP调用过程

2011-05-05 13:15 211 查看
做个备份,以后方便查看,粗略写下。

1、首先是新建一个C#类库工程过程不详述。

 

Demo代码如下:

 

namespace ClassIDTest

{

   

    public class AddCal

    {

       

        public int add (int a , int b)

        {

            return a + b;

        }

    }

}

 

修改AssemblyInfo.cs文件内容。

[assembly: ComVisible ( true )] 值改为true

编译该工程,生成dll文件为:ClassIDTest.dll

新建bat文件,内容为:regasm ClassIDTest.dll /tlb:ClassIDTest.tlb /codebase

该过程为注册过程,以便vbscript使用。

vbscript中输入如下内容:

Set o = CreateObject("ClassIDTest.mcMathComp")

MsgBox o.add(1,9)

执行结果为10.

QTP中输入上述代码也运行结果也一样。

 

 

第二种方法是利用Extern object

  可以利用Extern.Declare 声明,如下面所示:

  Extern.Declare micInteger , "Add", "D:/program/ClassIDTest/ClassIDTest/bin/Debug/ClassIDTest.dll", "Add", micInteger, micInteger

  res = Extern.Add(1,9)

  Msgbox res

      add为dll文件中的函数,Add为sum所命的别名;

第三种方法是利用DotNetFactory对象

  在QTP中为访问.net对象,专门提供了DotNetFactory对象。通过DotNetFactory可以访问.NET对象的属性和方法。

      Set obj = DotNetFactory.CreateInstance("ClassIDTest.mcMathComp", "D:/program/ClassIDTest/ClassIDTest/bin/Debug/ClassIDTest.dll")

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息