mangobowl 发表于 2010-4-8 19:16:09

QTP调用外部dll的问题

烦请知道的大虾们指点下,谢谢了~:handshake

我手头上有一个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等简单参数类型该怎么声明,没有讲到如果外部函数用到自定义类型该怎么声明……:L :L

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


哪位大虾知道这里该怎么写?还是说QTP对这样的问题无能为力?

TIB 发表于 2010-4-8 21:35:12

我想一种可行的方法是:自己写个DLL把NetSDK.dll的CaptureJPEGPicture方法再调用一下,再包一层,封装一个不使用结构体的函数出来,再用QTP去调用自己写的这个DLL

mangobowl 发表于 2010-4-10 11:17:38

原帖由 TIB 于 2010-4-8 21:35 发表 http://bbs.51testing.com/images/common/back.gif
我想一种可行的方法是:自己写个DLL把NetSDK.dll的CaptureJPEGPicture方法再调用一下,再包一层,封装一个不使用结构体的函数出来,再用QTP去调用自己写的这个DLL

谢谢指导~
但是实际上我还要调用其中的好多个函数,都有自定义结构体,自己再封装下比较麻烦:(
页: [1]
查看完整版本: QTP调用外部dll的问题