调用外部DLL的一个问题(指针参数问题)(100分)

  • 主题发起人 主题发起人 zfox
  • 开始时间 开始时间
Z

zfox

Unregistered / Unconfirmed
GUEST, unregistred user!
有个一个外部dll,文件名是:USB_Store.dll,它提供一个接口函数,声明如下:
1、函数名称:GFP_Getversion
2、函数原型:
int GFP_Getversion(unsigned char *psOutversion, int *lpLength);
3、功能说明
读取设备描述符信息
4、入口参数:无
5、出口参数:
psOutversion:获取的设备描述符信息
lpLength:设备描述符信息的长度。

我想问一下,就是在delphi中如何来调用这个函数,我主要是对 指针参数 翻译不过来,呵呵,谢谢,分数不够再加,(最好附个最简单的代码,原码是BCB的)
 
function GFP_Getversion(psOutversion:Pchar;var lpLength):integer;stdcall;
 
对 第二个参数,直接var lpLength???? 第二个参数也是指针参数,返回出来版本信息的长度,这样申明 会不会有问题
我试了一下,调用不成功,怎么回事???
 
// Function declare
Function GFP_Getversion(psOutversion:pChar;
var lpLength:Integer):Integer;
cdecl;
external 'USB_Store.dll';
// Call Demo
var psOutversion:array[0..256] of char;
lpLength:Integer;
begin
GFP_Getversion(psOutversion,lpLength);
end;
 
谢谢,原来DELPHI里int *lpLength是这么调用的,可以结了.
 
多人接受答案了。
 
后退
顶部