vc动态链接库函数中的word类型转换

haj77 2009-06-24 10:23:45
vc函数原型为:

BOOL HB_SDVR_SetDVRRecord(LONG lUserID,WORD lChannel)
功 能:设置远程手动录像
参 数:lUserID: IP地址用户ID 值,由HB_SDVR _Login 返回
lChannel: 按照低位到高位的顺序表示通道号
返回值::FALSE 表示失败,TRUE表示成功

转为 Delphi function HB_SDVR_SetDVRRecord(lUserID:Longint;lChannel:word):Boolean;
但是lChannel类型转换好像有点问题,比如说lChannel=1和lChannel=2,函数返回正确内容 ,但是在lChannel=3就不正确了,仔细看函数参数说明:“lChannel: 按照低位到高位的顺序表示通道号” ----这个WORD 应该对应 Delphi哪个数据类型???byte? pchar?
...全文
76 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
不得闲 2009-06-25
  • 打赏
  • 举报
回复
word就是对应word
minizhuxianchun 2009-06-24
  • 打赏
  • 举报
回复
WORD类型是16位的,所以可以表示16个通道,比如要选3号通道的二进制为00000100,十进制为4,所以lChannel表示3号通道的值应为4.
SuperTitan001 2009-06-24
  • 打赏
  • 举报
回复
我估计3通道时,lChannel=4,4通道 lChannel=8
2进制低位到高位的顺序表示通道号,第几位为1表示几通道
haj77 2009-06-24
  • 打赏
  • 举报
回复
函数自己返回没有任何问题的,就是word类型问题
starluck 2009-06-24
  • 打赏
  • 举报
回复



Function HB_SDVR_SetDVRRecord(lUserID:LongInt;lChannel:Word):LongBool




應該就是這樣的。存儲這個你自己要處理下。
李_军 2009-06-24
  • 打赏
  • 举报
回复
Delphi function HB_SDVR_SetDVRRecord(lUserID:Longint;lChannel:word):LongBOOL;
或者
Delphi function HB_SDVR_SetDVRRecord(lUserID:Longint;lChannel:word):Integer;
才行BOOL不是对应Delphi的boolean
WORD就是对应delphi的word
skertone 2009-06-24
  • 打赏
  • 举报
回复
lChannel: 按照低位到高位的顺序表示通道号

 chword := 1 shl ch;//ch = 1..15

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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