delphi 回调函数

请大侠把这个VC的函数翻译成delphi
NET_DVR_API   BOOL   __stdcall   NET_DVR_SetRealDataCallBack(LONG   lRealHandle,void(CALLBACK   *fRealDataCallBack)   (LONG   lRealHandle,   DWORD   dwDataType,   BYTE   *pBuffer,DWORD   dwBufSize,DWORD   dwUser),DWORD   dwUser);

谢谢

回答:

type
    RealDataCallBack   =   procedure(lRealHandle:   Longint;     dwDataType:   DWORD;   pBuffer:   PByte;     dwBufSize,   dwUser:   DWORD);

function   NET_DVR_SetRealDataCallBack(lRealHandle:   Longint;   CallBack:   RealDataCallBack;     dwUser:   DWORD):   BOOL;     stdcall;     external   "HCNetSDK.dll";

回答:

实际调用时的回调函数这样写:

type
    RealDataCallBack   =   procedure(lRealHandle:   Longint;     dwDataType:   DWORD;   pBuffer:   PByte;     dwBufSize,   dwUser:   DWORD);

function   NET_DVR_SetRealDataCallBack(lRealHandle:   Longint;   CallBack:   RealDataCallBack;     dwUser:   DWORD):   BOOL;     stdcall;     external   "HCNetSDK.dll";

procedure   MyRealDataCallBack(lRealHandle:   Longint;     dwDataType:   DWORD;   pBuffer:   PByte;     dwBufSize,   dwUser:   DWORD);
begin
    //此处写回调处理函数的代码
end;

......

var
    lRealHandle   :   Longint;
begin
    ......
    lRealHandle   :=   NET_DVR_RealPlay(......);
    ......
    NET_DVR_SetRealDataCallBack(lRealHandle,   MyRealDataCallBack,   1000);       //1000为用户数据,   可以借此区分不同的回调
    ......
end;

转载于:https://www.cnblogs.com/wenwencao/archive/2009/05/11/1454128.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值