BOOL VS_MP4_ClientStartup(UINT m_nMessage,HWND m_hWnd,void (CALLBACK *MessCallBack)(int command,char *ipaddr,char *buf,int ilen))
说明:对客户端SDK初始化;
参数说明:
m_nMessage:应用程序的一个用户自定义消息;
m_hWnd:应用程序中一个窗口句柄;
MessCallBack:消息回调函数,command:消息的类型,22:报警信息,30:服务器日志信息。ipaddr:服务器IP地址,buf是存放信息的缓冲区,不同的类型分别指向不同的结构,ilen缓冲区的大小;
返回值:TRUE表示成功,FALSE表示失败;
注2:我们可以通过 #define WM_MYCOMMAND WM_USER+1 定义一个用户自定义的消息,这个消息对应的消息处理函数为void OnMyCommand(WPARAM wParam, LPARAM lParam),它们之间的映射关系由ON_MESSAGE(WM_MYCOMMAND,OnMyCommand)来实现,此时,我们可以这样调用该函数:VS_MP4_ClientStartup(WM_MYCOMMAND,hWnd,NULL); 请问在delphi中怎样调用如上函数?

解决方案 »

  1.   

    type
      PMessCallBack = procedure(commond:Integer; ipaddr:PChar; buf:PChar; iLen:Integer);stdcall;function VS_MP4_ClientStartup(m_nMessage:UINT; m_hWnd:HWND; pFunc:PMessCallBack):LongBool;stdcall; external 'dd.dll' name 'VS_MP4_ClientStartup';上面是静态调用....
      

  2.   

    #define WM_MYCOMMAND WM_USER+1 定义一个用户自定义的消息,这个消息对应的消息处理函数为void OnMyCommand(WPARAM wParam, LPARAM lParam),它们之间的映射关系由ON_MESSAGE(WM_MYCOMMAND,OnMyCommand)来实现,此时,我们可以这样调用该函数:VS_MP4_ClientStartup(WM_MYCOMMAND,hWnd,NULL); 这是VC对自定义消息响应的处理。delphi简单多了。。
    const DWORD WM_MYCOMMAND = WM_USER+1;procedure MyCommandPrc(var msg:TMessage);message;WM_MYCOMMAND;procedure TForm1.MyCommandPrc(var msg:TMessage);
    beginend;
    //即可。。
      

  3.   

    #define WM_MYCOMMAND WM_USER+1 定义一个用户自定义的消息,这个消息对应的消息处理函数为void OnMyCommand(WPARAM wParam, LPARAM lParam),它们之间的映射关系由ON_MESSAGE(WM_MYCOMMAND,OnMyCommand)来实现,此时,我们可以这样调用该函数:VS_MP4_ClientStartup(WM_MYCOMMAND,hWnd,NULL); 这是VC对自定义消息响应的处理。delphi简单多了。。
    const DWORD WM_MYCOMMAND = WM_USER+1;procedure MyCommandPrc(var msg:TMessage);message;WM_MYCOMMAND;procedure TForm1.MyCommandPrc(var msg:TMessage);
    beginend;
    //即可。。