• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
工作日志
工作日志
博客园    首页    新随笔    联系   管理    订阅  订阅
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;

posted on 2009-05-11 14:12  滴水藏海映太阳  阅读(706)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3