vc 转delphi出错
vc 转delphi报错
H264_DVR_API long CALL_METHOD H264_DVR_Login(char *sDVRIP, unsigned short wDVRPort, char *sUserName, char *sPassword,LPH264_DVR_DEVICEINFO lpDeviceInfo, int *error,SocketStyle socketTyle=TCPSOCKET);
VC
typedef struct _H264_DVR_DEVICEINFO
{
char sSoftWareVersion[64];
char sHardWareVersion[64]; ///< 硬件版本信息
char sEncryptVersion[64]; ///< 加密版本信息
SDK_SYSTEM_TIME tmBuildTime;///< 软件创建时间
char sSerialNumber[64]; ///< 设备序列号
int byChanNum; ///< 视频输入通道数
int iVideoOutChannel; ///< 视频输出通道数
int byAlarmInPortNum; ///< 报警输入通道数
int byAlarmOutPortNum; ///< 报警输出通道数
int iTalkInChannel; ///< 对讲输入通道数
int iTalkOutChannel; ///< 对讲输出通道数
int iExtraChannel; ///< 扩展通道数
int iAudioInChannel; ///< 音频输入通道数
int iCombineSwitch; ///< 组合编码通道分割模式是否支持切换
int iDigChannel; ///<数字通道数
unsigned int uiDeviceRunTime; ///<系统运行时间
SDK_DeviceType deviceTye; ///设备类型
char sHardWare[64]; ///<设备型号
}H264_DVR_DEVICEINFO,*LPH264_DVR_DEVICEINFO;
//*** */向设备注册
enum SocketStyle
{
TCPSOCKET=0,
UDPSOCKET,
SOCKETNR
};
delphi
function H264_DVR_Login(sDVRIP:pchar;wDVRPort:Word;sUserName,sPassword:pchar; var LPH264_DVR_DEVICEINFO:_H264_DVR_DEVICEINFO;iError:PInteger;Style:PSmallInt)
:LongInt;stdcall;external 报Access Violation at address 6F6E6B6E Read of address 6F6E6B6E 错误
------解决方案--------------------
按我上面说的第一步修改后还是出问题??
将SDK_SYSTEM_TIME后面的packed去掉!!!
H264_DVR_API long CALL_METHOD H264_DVR_Login(char *sDVRIP, unsigned short wDVRPort, char *sUserName, char *sPassword,LPH264_DVR_DEVICEINFO lpDeviceInfo, int *error,SocketStyle socketTyle=TCPSOCKET);
VC
typedef struct _H264_DVR_DEVICEINFO
{
char sSoftWareVersion[64];
char sHardWareVersion[64]; ///< 硬件版本信息
char sEncryptVersion[64]; ///< 加密版本信息
SDK_SYSTEM_TIME tmBuildTime;///< 软件创建时间
char sSerialNumber[64]; ///< 设备序列号
int byChanNum; ///< 视频输入通道数
int iVideoOutChannel; ///< 视频输出通道数
int byAlarmInPortNum; ///< 报警输入通道数
int byAlarmOutPortNum; ///< 报警输出通道数
int iTalkInChannel; ///< 对讲输入通道数
int iTalkOutChannel; ///< 对讲输出通道数
int iExtraChannel; ///< 扩展通道数
int iAudioInChannel; ///< 音频输入通道数
int iCombineSwitch; ///< 组合编码通道分割模式是否支持切换
int iDigChannel; ///<数字通道数
unsigned int uiDeviceRunTime; ///<系统运行时间
SDK_DeviceType deviceTye; ///设备类型
char sHardWare[64]; ///<设备型号
}H264_DVR_DEVICEINFO,*LPH264_DVR_DEVICEINFO;
//*** */向设备注册
enum SocketStyle
{
TCPSOCKET=0,
UDPSOCKET,
SOCKETNR
};
delphi
function H264_DVR_Login(sDVRIP:pchar;wDVRPort:Word;sUserName,sPassword:pchar; var LPH264_DVR_DEVICEINFO:_H264_DVR_DEVICEINFO;iError:PInteger;Style:PSmallInt)
:LongInt;stdcall;external 报Access Violation at address 6F6E6B6E Read of address 6F6E6B6E 错误
------解决方案--------------------
按我上面说的第一步修改后还是出问题??
将SDK_SYSTEM_TIME后面的packed去掉!!!
SDK_SYSTEM_TIME = record
year:Integer;///< 年。
month:Integer;///< 月,January = 1, February = 2, and so on.
day:Integer;///< 日。
wday:Integer;///< 星期,Sunday = 0, Monday = 1, and so on
hour:Integer;///< 时。
minute:Integer;///< 分。
second:Integer;///< 秒。
isdst:Integer;///< 夏令时标识。
end;