51Testing软件测试论坛

标题: 大家好~关于DLL调用我想问个问题 [打印本页]

作者: smuslrash    时间: 2006-3-8 10:31
标题: 大家好~关于DLL调用我想问个问题
1。按照精华区的文章
vb的dll
public sub msg(strMsg as string)
          msgbox strMsg
End sub
生成 msgstr.dll文件
robot脚本中
dim i as object
set i = createobject("project.Class1")
…………
…………

运行过程中的错误是
runtime error '429'' - module dll line 9 ,object creation failed - bad object class

2. 如果robot中这样写,
declare sub msgstr Lib "msgstr" (a as integer)
Sub Main
msgstr(2)
End Sub
运行会显示
failed to load f:\autora\project\testdatastore\defaulttestscriptdatastore\tms_scripts\dll.rec sub or function 'msgstr in dll 'msgstr' not found

谢谢~
节日快乐'
作者: pcl2004_27    时间: 2006-3-9 23:02
注册了么?

在运行中 写入
regsrvr32  dll包含路径
这册dll

这样你就可以直接用了
set i = createobject("project.Class1")
作者: smuslrash    时间: 2006-3-15 11:05
注册了
Robot中的代码如下
dim objshell as object
Set objShell = CreateObject("Wscript.shell")
objShell.run("RegSvr32 F:\AutoRA\dll\1\Project.dll")
           Dim a as object
          set a = createobject("Project.class1")
          a.msg("s")
         
DLL 为Project.dll
运行中先提示 F:\AutoRA\DLL\1\Project.dll 中的DLLRegisterServer成功  
然后还是runtime error '429'' - module dll line 9 ,object creation failed - bad object class
不知道哪里错了
谢谢楼上的回答
望赐教
作者: yangfengwait    时间: 2006-3-22 12:58
帮你顶下,我也要问这个问题
作者: qjwxsd    时间: 2006-3-24 11:14
标题: 调用Dll 说明
1.调用普通DLL
Declare Function GetForegroundWindow Lib "user32" Alias "GetForegroundWindow" () As Long
调用失败会提示:sub or function "***" not found.

2.调用COM接口DLL,在VB中即ActiveX dll
dim o as object
set o = createobject("project1.Class1")
o.msg "hello dll"
调用前,先将DLL 注册(regsvr32 X:\*.dll),这样CreateObject 才能找到路径
如果没注册会提示"429 bad object class"

[ 本帖最后由 qjwxsd 于 2006-3-24 11:29 编辑 ]




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