请教一个调用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;吗?这样返回的结果不正常啊,谢谢各位指点!
...全文
154 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
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;

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧