读书人

delphi与C++数据类型转换以及pointer类

发布时间: 2013-01-08 14:02:14 作者: rapoo

delphi与C++数据类型转换以及pointer类型的问题
C++程序带一个dll
C++中的dll函数原型
int WINAPI Command(int hdl, int cmd, void* data)
我想用delphi写一个dll替换这个dll
command(hdl,cmd:Integer;data:Pointer):Integer;Stdcall;
原Dll的void* data的返回值是P"
我怎么把dephi中的data:Pointer的值设为P"
直接赋值 Pointer(S);@S; pchar(s);
这三种均不成功,好像c++程序报data的值不是整数,应该c++调用的data值是一个地址
在delphi的dll怎么写,才能让data的值是P" 并且让c++调用成功,c++的程序没有代码,不知道具体调用

[解决办法]
如果 *data 是返回 字符串 ,那在DELPHI里最好是用char 数组,因为string类型要自己去声明空间的,否则会报错
command(hdl,cmd:Integer;data:Pchar):Integer;Stdcall;
var tempdata:array[0..10] of char;
begin
tempdata='P''''';
STRCOPY(data,tempdata);
end;

读书人网 >.NET

热点推荐