Hik_PlayM4_SetFileRefCallBack(LONG nPort, void (__stdcall *pFileRefDone)(DWORD n

  • 主题发起人 主题发起人 shuang
  • 开始时间 开始时间
S

shuang

Unregistered / Unconfirmed
GUEST, unregistred user!
Hik_PlayM4_SetFileRefCallBack(LONG nPort, void (__stdcall *pFileRefDone)(DWORD nPort,DWORD nUser),DWORD nUser);(100分)<br />这是C++里声明的一个函数:
Hik_PlayM4_SetFileRefCallBack(LONG nPort, void (__stdcall *pFileRefDone)(DWORD nPort,DWORD nUser),DWORD nUser);这是个设置回调函数指针,文件索引建立后回调
请问各位高手在delphi中如何声明呀?尤其是void (__stdcall *pFileRefDone)(DWORD nPort,DWORD nUser)部分
 
怎么没人理我呀,答上来可以再加分
 
你试试如下:

type
TFileRefDone = procedure(nPort: DWord;
nUser: DWord);
stdcall;

procedure Hik_PlayM4_SetFileRefCallBack(nPort: LongInt;
frd: TFileRefDone;
nUser: DWord);

implementation

{$R *.dfm}

procedure Hik_PlayM4_SetFileRefCallBack(nPort: LongInt;
frd: TFileRefDone;
nUser: DWord);
begin

end;


procedure AFileRefDone(nPort: DWord;
nUser: DWord);
stdcall;
begin

end;


procedure TForm1.Button1Click(Sender: TObject);
var
frd: TFileRefDone;
begin

frd := AFileRefDone;
Hik_PlayM4_SetFileRefCallBack(1, frd, 0);
end;


 
cqbaobao:
真的非常感谢你!
我试了试这样声明可以通过,不过我还得问你个问题
Hik_PlayM4_SetFileRefCallBack(LONG nPort, void (__stdcall *pFileRefDone)(DWORD nPort,DWORD nUser),DWORD nUser);
中的nUser:指用户数据。是不是C++里的当前对象的指针呀?我对C++不是很熟悉,望指教![:)]
 
对不起,我不太明白你所说的“当前对象的指针”是什么意思,
也不知道你的这套函数是如何工作的,因此我猜不到它是什么东西,

如果要猜的话,这个 nUser 可能是传给回调函数的参数。
 
不好意思,我对VC++不是很了解,我也不知我说的“当前对象的指针”说法对不对。
这个函数是这样,它是多媒体播放器中的一个在文件打开后播放之前用的一个
建立索引的函数,建立索引的目的是为了可以实现,可以任意指定时间点进行播放。
他的说明是这样:设置回调函数指针,文件索引建立后回调。为了能在文件中准确快速的定位,我们在文件打开的时候生成文件索引
输入参数:
SetFileRefCallBack:回调函数指针
nUser:用户数据
回调函数声明 Void fileRefDone(DWord nPort,Dword nUser)
参数说明:nPort播放器通道号
nUser用户数据
情况就是这样
 
type
PpFileRefDone = function(nPort: DWORD;
nUser: DWORD): integer;
stdcall;

function Hik_PlayM4_SetFileRefCallBack(nPort: integer;
pFileRefDone: PpFileRefDone;
nUser: DWORD): Boolean;
stdcall;

cqbaobao 谢谢了,此问题结了,发分了
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
I
回复
0
查看
932
import
I
I
回复
0
查看
514
import
I
后退
顶部