VC++ 程序
void WINAPI CVideoDemoDlg::devdeal(unsigned long devid,char *devname,char *svrip)
{
   SLT_DEVINFO newDev;
   memset(&newDev,0,sizeof(SLT_DEVINF));
   newDev.devid=devid;
   strcpy(newDev.devname,devname);
   g_allDev.insert(DEVINFO::value_type(devid,newDev)):}D7中已经翻译了的程序
type
   Tnotify=procedure(devid:dword;devicename:pchar;svrip:pchar);//stdcall;   implementation
   function SLT_ClientStart():integer; stdcall; far external 'smartv.dll';
   function SLT_ClientStop():integer; stdcall; far external 'smartv.dll';
   function SLT_ClientGetDevInfo(serverip:pchar;user:pchar;password:pchar;second:integer;notify:Tnotify):integer;stdcall; far external 'smartv.dll';procedure TForm1.Button10Click(Sender: TObject);
var
  Int:integer;
begin Int:=SLT_ClientGetDevInfo('192.168.17.1','admin','123456',20,devdeal);
 ShowMessage(Inttostr(Int));
end;
我该如阿翻译??下面的如何对于VC++ 中的程序?
procedure devdeal(devid:dword;devicename:pchar;svrip:pchar);//stdcall;begin
    
end;

解决方案 »

  1.   

    void WINAPI CVideoDemoDlg::devdeal(unsigned long devid,char *devname,char *svrip) //
    {
       SLT_DEVINFO newDev;
       memset(&newDev,0,sizeof(SLT_DEVINF));
       newDev.devid=devid;
       strcpy(newDev.devname,devname);
       g_allDev.insert(DEVINFO::value_type(devid,newDev)):}
    这个程序的意思是把设备的ip写入到哈希表里面。// 获取设备信息函数
    // 参数:
    //    char *serverip :SmartV目录服务器IP地址,譬如:"192.168.0.1"
    //    char *user     : 登陆SmartV目录服务器的用户名,请与SmartV监控系统管理员联系获取;
    //    char *password : 登陆SmartV目录服务器的密码,请与SmartV监控系统管理员联系获取;
    //    int second     :搜索设备等待时间,>=10 (秒);
    //    void(WINAPI *notify)(unsigned long devid,char *devname,char *svrip) :
    //                设备信息处理回调函数,在里面做相应的处理,譬如把该设备的信息保存下来
    //                参数:
    //                      unsigned long devid : 设备ID
    //                      char *devname       : 设备名称(监控地点名称)
    //                      char *svrip         : 该设备所在服务器IP
    SMARTV_API long __stdcall SLT_ClientGetDevInfo(char *serverip,char *user, char *password,int second,
       void(WINAPI *notify)(unsigned long devid,char *devname,char *svrip));