请教一个调用c写的dll,变量类型转换的问题,谢谢!

cowboy1999 2006-06-20 05:17:01
dll中定义了函数
int fun1(void** p);
int fun2(void* p);

示例程序调用如下:
……
void* p;

if fun1(&p)!=0 ……

fun2(p);
……

用delphi申明函数后,如何这个定义这个变量啊。
void** P是定义成P:PPointer;吗?这样返回的结果不正常啊,谢谢各位指点!
...全文
130 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
xixuemao 2006-06-21
无类型指针:
C中void *类型,也就是可以指向任何类型数据的指针
Object Pascal为其定义了一个专门的类型:Pointer
ptr: Pointer就与C中的void *ptr等价了
回复
wuweigang 2006-06-20
同意
回复
GARNETT2183 2006-06-20
那是C语言里面的转递方式,与Delphi var 一样,一个是值传递,一个是引用传递。。。这样。。
function fun1(var p: Pointer): Integer; //引用传递
function fun2(p: Pointer): Integer;//值传递
回复
lornwolf80 2006-06-20
function fun1(var p: Pointer): Integer;
function fun2(p: Pointer): Integer;
回复
相关推荐
发帖
Windows SDK/API
创建于2007-08-02

1156

社区成员

Delphi Windows SDK/API
申请成为版主
帖子事件
创建了帖子
2006-06-20 05:17
社区公告
暂无公告