51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2220|回复: 5
打印 上一主题 下一主题

[原创] 关于qtp调用dll的问题(急,请求帮忙)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-2-1 17:58:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求助一个问题,请大家帮忙。



我在qtp里面调用一个自己用VC写的dll,dll的名字为Dll1.dll

dll中有两个函数:



int add1(int a,int b)

char *getsql(char *sql_str,char *path)



我在qtp里面写如下语句:



Extern.Declare micString,"getSql","C:\Dll1.dll","",micString,micString

Extern.Declare micInteger,"add1","C:\Dll1.dll","",micInteger,micInteger



return1=Extern.add(1,3)

return2 = Extern.getSql ("snap_tab_v==<db_tfundbook>==300627837==20071219","d:")


执行到return1的时候正确,值也正确。

但是执行到return2,就会报错:变量使用了一个VBScript中不支持的Automation类型:‘Extern.getSql’



我查了论坛上的相关资料,但是没有找到返回值是micString类型的处理,希望大家帮助。

比较着急,在线等。。。。。。

非常感谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-2-1 19:13:28 | 只看该作者
是不是大小写敏感的问题?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-2-2 10:43:56 | 只看该作者
char *getsql(char *sql_str,char *path)
你这函数返回的是指针变量
return2 = Extern.getSql ("snap_tab_v==<db_tfundbook>==300627837==20071219","d:")
想问下能这样引用吗?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-2-4 19:44:43 | 只看该作者
alias name如果不写得话,是直接使用前边的method name来当作alias name,VB本身是不区分大小写的,调用的时候还真没注意过,改下看看行不行?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-2-13 16:39:46 | 只看该作者
参数类型的问题吧,不是传进去的参数有问题,而是你函数返回的参数类型有问题,

VBS不支持指针,而你的函数估计是返回了字符串指针,所以出错
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2008-2-20 17:53:59 | 只看该作者
qtp中不支持指针,是么?
那也就是说如果我想用dll处理一个字符串,返回值也是一个字符串,就没有办法了么?
请帮帮忙
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-27 05:45 , Processed in 0.064294 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表