求结构体转换delphi,调用dll!在线等

oicq111 2014-05-16 11:39:33
动态库 HISISDK.dll,
LONG HISI_DVR_Login(
char *sDVRIP,
WORD wDVRPort,
char *sUserName,
char *sPassword,
PHISI_DEVCEINFO lpDeviceInfo
);

Parameters
sDVRIP
[in] 设备IP地址
wServerPort
[in] 设备端口号
sUserName
[in] 登录的用户名
sPassword
[in] 用户密码
lpDeviceInfo
[out] 设备信息

Return Values
-1表示失败,其他值表示返回的用户ID值。该用户ID具有唯一性,后续对设备的操作都需要通过此ID实现。获取错误码调用 HISI_DVR_GetLastError

请问如何调用
var
lpDeviceInfo:LPNET_DVR_DEVICEINFO ;//设备信息结构体
begin
HISI_DVR_Login(PChar('127.0.0.1'),80,'admin','',lpDeviceInfo);
end;//老报错
//结构体
Type
LPNET_DVR_DEVICEINFO=^NET_DVR_DEVICEINFO;
NET_DVR_DEVICEINFO = packed record
sSerialNumber:array[0..SERIALNO_LEN] of BYTE ; //序列号
byAlarmInPortNum:BYTE; //DVR报警输入个数
byAlarmOutPortNum:BYTE; //DVR报警输出个数
byDiskNum:BYTE; //DVR 硬盘个数
byDVRType:BYTE; //DVR类型,
byChanNum:BYTE; //DVR 通道个数
byStartChan:BYTE; //起始通道号,例如DVS-1,DVR - 1
end;
...全文
195 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
武稀松 2014-05-19
  • 打赏
  • 举报
回复
去掉Packed
fang 2014-05-19
  • 打赏
  • 举报
回复
NET_DVR_DEVICEINFO和PHISI_DEVCEINFO 你要对比下大小,你定义的是packet record,应该是大小不一致吧。你DLL的调用方式是不是和SDK说明的一致,你这里华为海思的DVR是吧。

16,749

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧