当前位置:主页>仓库管理软件> 列表

VC中的LPVOID类型在Delphi中应该对应什么类型? 找人员信息管理软件

进销存软件版1楼: 这个是同时编写的api原型
BOOL WINAPI ReadCom(LPVOID sBuf,int *nLength)
下面是我在delphi中的声明
Function ReadCom(var ls_data:string ; var Ncount:integer):boolean;
StdCall; External ''ES645_D.dll'' Name ''ReadCom'';
这个是我的实际引用
ReadCom(ls_bcd,li_return);
但在实际使用中总是无法得到ls_bcd的值,总是报错或无法访问!
[b]究竟VC中的LPVOID类型在Delphi中应该对应什么类型?[/b]

2楼: pointer,pchar,pdword...都行 如人员信息管理软件

3楼: 能不能详细的解释一下?具体的说明!

4楼: tt.t说的是一厢情愿:
C/C++里面的VOID指的是“无类型”数据,那么LPVOID就应该是“指向无类型数据的指针”。因此对应的Delphi数据类型应该是Pointer。虽然在所有类型的指针的存储长度都一样,但指向的数据类型不一样,通过指针取目标数据的结果也不一样。怎么能说“pointer,pchar,pdword...都行”?!--pchar指向的是字符数据,取目标以后的数据长度是一个字节;pdword指向的双字数据,取目标后的数据长度是4个字节,这两者能一样吗?所以既然在VC里面是LPVOID就应该对应DELPHI里面的Pointer,这样在混合语言编程时才不会出错。

5楼: 接受答案了.

6楼: 最好用POINTER,DWORD也可以