51Testing软件测试论坛

标题: 一个简单的dll [打印本页]

作者: miludeer    时间: 2004-7-6 15:47
标题: 一个简单的dll
1.先用VB做了个DLL
Function Sum(ByVal a As Integer, ByVal b As Integer) As Integer
Sum = a + b
End Function
2.加载
RUN regsvr32 d:\dll2\a.dll
3.在ROBOT中写脚本
Declare Function Sum Lib "a.dll" (Byval a as integer,ByVal b as integer) as integer

Sub Main
Dim Result As Integer

'Initially Recorded: 2004-07-05 18:02:07
'Script Name: asdf
dim i as integer
i=Sum(2,3)
msgbox i

End Sub
4.运行,出现提示信息

5.烦请各位指点一下

miludeer 上传了这个图片:

作者: pcl2004_27    时间: 2004-7-7 14:10
两种方法
一种 createobject
一种 win32 api
       loadlibrary的方式可以解决
作者: pcl2004_27    时间: 2004-7-10 12:54
上边的问题是由于vb编写dll的特点造成,vb的dll默认是个class,所有的function sub都默认是他的方法,所以robot找不到sub function
下边是解决方法

      vb的dll代码
     public sub msg(strMsg as string)
          msgbox strMsg
    End sub
   robot调用该sub

       sub main
          dim a as object
          set a = createobject(''project.class1")
          a.msg(''s")
          set a =nothing
         
      end sub
     如上就可以正常使用了
   
如果你用其他的语言编写的dll,就不会出现上边的问题
作者: guirongb    时间: 2004-10-9 10:10
pcl2004_27
你真的很牛,真是太佩服了
作者: yang    时间: 2004-10-19 11:42
好,呵呵。学习。
作者: johnson_cong    时间: 2005-3-16 10:46
标题: 真厉害

作者: yangfengwait    时间: 2005-12-22 10:35
“)
作者: yangfengwait    时间: 2005-12-22 10:35
")
作者: yangfengwait    时间: 2005-12-22 10:36

作者: yangfengwait    时间: 2005-12-22 10:37
.)
作者: yangfengwait    时间: 2005-12-22 10:38
set a = createobject(''project.class1")
作者: yangfengwait    时间: 2005-12-22 10:41
)::   ):     )"
作者: yangfengwait    时间: 2005-12-22 10:42
vb的dll代码
     public sub msg(strMsg as string)
          msgbox strMsg
    End sub
   robot调用该sub

       sub main
          dim a as object
          set a = createobject(''project.class1"
          a.msg(''s"
          set a =nothing
         
      end sub
作者: 51mobile    时间: 2007-5-7 07:51
学习了
作者: j-r-j    时间: 2007-8-22 17:19
请问怎么执行第二步的【加载RUN regsvr32 d:\dll2\a.dll】啊?
如果是其他加载其他文件怎么声明呢?比如我直接写在一个GUI脚本里,怎么在另一个GUI脚本中声明呢?
请在线的大虾指教啊,谢谢。
作者: inny100    时间: 2009-5-17 17:08
学习啦




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2