将c头文件转换为delphi 2006

时间:2010-11-22 07:28:35

标签: c delphi

如何翻译此声明?

typedef void (CALLBACK *pCompletePlay)(LONG lvrPlayHandle, LONG lUserData);

感谢。

3 个答案:

答案 0 :(得分:2)

type pCompletePlay = procedure( lvrPlayHandle, lUserData: longint ); stdcall;

答案 1 :(得分:1)

在自然语言中,此声明表示:“Be pCompletePlay 指向具有两个 long 参数的函数的指针,使用stdcall调用约定”,作为宏CALLBACK定义为

#define CALLBACK    __stdcall
在windef.h中

这个delphi声明将是:

type
  pCompleteplay : procedure( lvrPlayHandle, lUserData : LongInt);stdcall;

答案 2 :(得分:0)

没什么特别的。 pCompletePlay只是一种指向的函数指针 void(*)(LONG,LONG);

所以,当你写: pCompletePlay foo; // foo就像你宣布的那样是一个函数。