51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

[求助] 介个错误是什么原因,请大侠支招!在线等,谢谢!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-4-30 10:22:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用VC写了dll,函数返回值为int类型,为日志的数量: int LogCount(char FilePath[100])

在QTP中我调用如下
Dim a
Extern.Declare micInteger,"LogCount","C:\PPLiveAutoTest.dll","LogCount",micString
a = Extern.LogCount ("\\172.16.1.2\Log\DataUpload\W3SVC485590181\in090405.log")
If a = 10 then
   print “OK”
End if

当我执行到第4行时,报如下错误:
Run Error
变量使用了一个 VBScript 中不支持的 Automation 类型


如果我直接给a赋值某个数的话,就没有该问题,我想应该与返回值类型有关吧,具体原因我就不清楚了,请各位大侠帮忙解答一下,谢谢! 小弟在线等答案。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-4-30 10:30:03 | 只看该作者
你可以先用msgbox a 把a打印出来看看 然后再分析
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2009-4-30 10:31:24 | 只看该作者
还有一个可能就是参数格式 有问题
a = Extern.LogCount ("\\172.16.1.2\Log\DataUpload\W3SVC485590181\in090405.log")
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2009-4-30 11:47:33 | 只看该作者
我用msgbox a 看, 能够显示正确的结果数值,例如 6 ,同时也就说明了 函数已经正确执行了,应该没问题
但是执行到If a = 10 then 这一句时,还是有同样的问题
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2009-4-30 12:02:40 | 只看该作者
用Vartype看一下a的变量类型看看,试下用CInt转换一下类型之后再执行If语句
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2009-4-30 12:28:19 | 只看该作者
谢谢各位大侠。 用Cint转换后可以了。

但是我还想问一下5楼的兄弟,用vartype看了一下,返回值 是22,没查到对应的类型,请问这是怎么回事?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-23 10:44 , Processed in 0.072814 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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