2010-11-22 7 views
2

この宣言の翻訳方法を教えてください。cヘッダファイルをdelphi 2006に翻訳します

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

ありがとうございます。

+1

あなたはあなたのポストは、より読みやすく、コード* *として、ソースコードをフォーマットするStackOverflowのポストエディタを使用する必要があります。 – sum1stolemyname

答えて

0

特別なことはありません。 pCompletePlayは、 を指す関数ポインタの一種に過ぎません。void(*)(LONG、LONG);

したがって、次のように記述します。 pCompletePlay foo; // fooは宣言したのと同じような関数です。自然言語で

+0

OPはデルファイ関数ポインタの宣言を求めました。 – sum1stolemyname

2

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

1

は、この宣言は意味:マクロコールバックは

として定義される、「 pCompletePlay 2つの 長いのパラメータを持つ関数へのポインタでstdcall呼び出し規約を使用して」
#define CALLBACK __stdcall 

in windef.h。

このためDelphiの宣言は次のようになります。

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