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 上传了这个图片:
[img]http://www.lyleader.com/soft/thanks3.gif[/img]
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,就不会出现上边的问题
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
j-r-j 2007-8-22 17:19
请问怎么执行第二步的【加载RUN regsvr32 d:\dll2\a.dll】啊?
如果是其他加载其他文件怎么声明呢?比如我直接写在一个GUI脚本里,怎么在另一个GUI脚本中声明呢?
请在线的大虾指教啊,谢谢。