51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2965|回复: 2
打印 上一主题 下一主题

[原创] QTP调用外部dll的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-4-8 19:16:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
烦请知道的大虾们指点下,谢谢了~

我手头上有一个VC编写的NetSDK.dll,里面封装了一个CaptureJPEGPicture函数,这个函数用到了一个自定义的结构体LPNET_DVR_JPEGPARA,函数和该结构体定义如下:

LONG CaptureJPEGPicture(
  LONG                 lUserID,
  LONG                 lChannel,
  LPNET_DVR_JPEGPARA   lpJpegPara,
  char                 *sPicFileName
);

struct{
  WORD     wPicSize;
  WORD     wPicQuality;
}NET_DVR_JPEGPARA,*LPNET_DVR_JPEGPARA;

如果要调用该dll中的这个函数,用Declare可以声明吗?因为我看QTP的说明中只提及到了诸如micInt、micLong等简单参数类型该怎么声明,没有讲到如果外部函数用到自定义类型该怎么声明……

Extern.Declare micLong, "CaptureJPEGPicture", "NetSDK.dll", "", micLong, micLong, ___ ,然后写到这个地方就不知道该用什么类型了


哪位大虾知道这里该怎么写?还是说QTP对这样的问题无能为力?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-4-8 21:35:12 | 只看该作者
我想一种可行的方法是:自己写个DLL把NetSDK.dll的CaptureJPEGPicture方法再调用一下,再包一层,封装一个不使用结构体的函数出来,再用QTP去调用自己写的这个DLL
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2010-4-10 11:17:38 | 只看该作者
原帖由 TIB 于 2010-4-8 21:35 发表
我想一种可行的方法是:自己写个DLL把NetSDK.dll的CaptureJPEGPicture方法再调用一下,再包一层,封装一个不使用结构体的函数出来,再用QTP去调用自己写的这个DLL


谢谢指导~
但是实际上我还要调用其中的好多个函数,都有自定义结构体,自己再封装下比较麻烦
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-26 18:52 , Processed in 0.065865 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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