请教:有一D写的函数申明如下 ( 积分: 88 )

  • 主题发起人 主题发起人 农民工
  • 开始时间 开始时间

农民工

Unregistered / Unconfirmed
GUEST, unregistred user!
有一D写的函数申明如下:
function GetID(i,j: integer; out srr: array of char): boolean; stdcall;
如何在C++builder中调用?或VB中
 
没有环境,大概是: bool GetID(int i, int j, char **srr); 吧...

别的语言很少能够识别Delphi的动态数组的,建议用指针+长度的形式传入。
 
creation-zy
我用BCB不知如何调用该函数,用指针+长度的形式能否再指点一下
 
function GetID(
i,j:Integer;
out pSrr:PChar; //数组首元素指针
out CharCount:Integer //数组长度
): Boolean; stdcall;

C++代码:
bool GetID(int i, int j, char **pSrr; int *CharCount); stdcall;
 
改DLL,有没有别的办法?其实他这个DLL里有2个函数,我想问一下,当Arrar of char 是从DLL输出参数时,我在BCB中用 char[]是可以的,但是如过他定义Arrar of char为传入参数时用char[]就不行了,下面代码:
function GetId(out d:array of char):boolean;
typedef bool __stdcall (*fun_GetName)(char Data[]);
GetId调用正确,
function SetID(d:array of char):boolean;
typedef bool __stdcall (*fun_SetName)(char Data[]);
执行SetId的时候就不行了,如下
char Data[10]={0}
sprintf(Data, "%s", Edit4->Text);
bool result=SetName(Data)//此处就不行了?
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部