public struct NET_DVR_PLAYCOND
        {
            public uint dwChannel;
            public NET_DVR_TIME struStartTime;
            public NET_DVR_TIME struStopTime;
            public byte byDrawFrame;  //0:不抽帧,1:抽帧
            [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 63, ArraySubType = UnmanagedType.I1)]
            public byte[] byRes;    //保留
        }

解决方案 »

  1.   

    type
      NET_DVR_PLAYCOND = record
        dwChannel: DWORD;
       struStartTime: NET_DVR_TIME;
       struStopTime: NET_DVR_TIME;
       byDrawFrame: byte;
      byRes: array of byte;
      end;
    至于[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 63, ArraySubType = UnmanagedType.I1)],这个东西Delphi新版本才有自定义Attribute的,你需要看你.net中的这个对应是什么功能,然后再Delphi根据相应的功能做属性定义,然后类似声明就行,另外不知道NET_DVR_TIME是啥结构,自己对应定义,实际上转换代码这种东西,没啥太大的讲究,搞明白数据类型的对应就行了
      

  2.   

    要适应C++的,最好加上个packet