delphi 如何调用这个动态库fzyktclient.dll

KJHM 2022-11-06 23:34:43
int __stdcall ykt_opendevice(int nDeviceType,int nCom,int nBaud,char *pRegion,char *pWarnmsg,char *pErrmsg)
功能描述实现 打开设备 的功能
参数说明序号参数输入/输出类型长度(十进制)含义
1nDeviceTypeINint设备类型

10:YKT-2型(包括:YKT-2-II、YKT-2-III等)
12:YKT-3型(包括:YKT-3-III、YKT-3-II(旧)等)
18:YKT-3-II-W
19:YKT-3-II
20:YKT-9-I(S)
21:YKT-5-II
22:高拍仪
2nComINint端口编号

0-8:COM1-COM9
9:USB
3nBaudINint波特率

1:9600
2:19200
3:28800
4:57600
4pRegionINchar[4]

地区编号,各地市行政编码前四位

 

3500:A
3501:B
3502:C
3502TSG:D
3503:E
3504:F
350481:G
3505:H
3506:I
3507:J
3508:K
3509:L

5pWarnmsgOUTchar[1024]警告信息
6pErrmsgOUTchar[1024]错误信息
返 回 值== 0:打开设备成功;
!= 0:打开设备失败,详情请见pErrmsg;
...全文
390 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

传入参数是指针,指向几个字符都无所谓,而且从他的说明看,每个地区有一个字母的编码

墨梅无痕 2022-11-07
  • 打赏
  • 举报
回复
  function ykt_OpenDevice(nDeviceType: Integer; nCom: Integer; nBaud: Integer;
                          pRegion: PAnsiChar; pWarnMsg: PAnsiChar; pErrorMsg: PAnsiChar): Integer;
                          stdcall; external 'fzyktclient.dll';

type
  // 设备类型
  TyktDeviceType = (dtYKT_2 = 10,                           // YKT-2型(包括:YKT-2-II、YKT-2-III等)
                    dtYKT_3 = 12,                           // YKT-3型(包括:YKT-3-III、YKT-3-II(旧)等)
                    dtYKT_3_II_W = 18,                      // YKT-3-II-W
                    dtYKT_3_II = 19,                        // YKT-3-II
                    dtYKT_9_I = 20,                         // YKT-9-I(S)
                    dtYKT_5_II = 21,                        // YKT-5-II
                    dtYKT_GaoPaiYi = 22                     // 高拍仪
  );

  // 端口编号
  TyktComId = ( ciCom1 = 0,
                ciCom2 = 1,
                ciCom3 = 2,
                ciCom4 = 3,
                ciCom5 = 4,
                ciCom6 = 5,
                ciCom7 = 6,
                ciCom8 = 7,
                ciCom9 = 8,
                ciUsb = 9
  );

  // 波特率
  TyktBaudRate = (brBps_9600 = 1,
                  brBps_19200 = 2,
                  brBps_28800 = 3,
                  brBps_57600 = 4
  );

参数4 pRegion 奇奇怪怪的??

KJHM 2022-11-07
  • 举报
回复
@墨梅无痕 参数4是在这样的:pRegion IN char[4] 地区编号,各地市行政编码前四位 3500:省直 3501:福州 3502:厦门 3502TSG:厦门图书馆 3503:莆田 3504:三明 350481:永安 3505:泉州 3506:漳州 3507:南平 3508:龙岩 3509:宁德
墨梅无痕 2022-11-08
  • 举报
回复
@KJHM 我的意思是说,如果字符串长度只有4,那么如何区分3502和3502TSG呢?
KJHM 2022-11-06
  • 打赏
  • 举报
回复

这是vc的动态库吗?各位大虾,Delphi7如何调用传递参数。感谢

发帖
Delphi

5179

社区成员

Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
帖子事件
创建了帖子
2022-11-06 23:34
社区公告
暂无公告