以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请教专家狐表有无什么方法调用VC的 dll 库 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=113330) |
-- 作者:lanbor -- 发布时间:2018/1/13 16:09:00 -- 请教专家狐表有无什么方法调用VC的 dll 库 请教专家: 狐表有无什么方法直接调用VC的 dll 库。 ------以下是其中一个CV调用VC开发的 USART_DLL.DLL库实例------- *函数名 : Set_Board_Baud *函数功能描述 : 设置锁控板的串口通讯波特率 *函数参数 : baud,baud只能是这些值(9600,14000,19200,38400,57600,115200) addr: 板地址,取值为0X01到0X40 *函数返回值 : 0表示设置失败,1:表示设置成功,2:表示设备没有响应, 3:板地址错误,4:波特率错误 5:返回值错误 6:CRC错误 格式:unsigned char Set_Board_Baud(unsigned char addr,unsigned int baud); 我有全套VC 调用VC DLL库的说明文件 --------------------------- 或者,请教专家:狐表需要依据什么流程,必要具体什么条件才能调用VC 的DLL 库? 诚请专家指点一下! 谢谢你!
|
-- 作者:有点蓝 -- 发布时间:2018/1/13 16:26:00 -- 大概这样 Public Declare Function Set_Board_Baud Lib "USART_DLL.DLL" Alias "Set_Board_Baud" ( addr As byte, baud as uinteger) As byte
[此贴子已经被作者于2018/1/13 16:26:17编辑过]
|
-- 作者:lanbor -- 发布时间:2018/1/13 18:57:00 -- 感谢专家指点。 根据您的指点,我再认真学习一下看看。 多谢多谢!
|
-- 作者:lanbor -- 发布时间:2018/1/13 19:43:00 -- 感谢专家指点!再请教一下。 感谢专家指点!再请教一下。 请专家再指点VC函数语句变化成狐表调用格式。 -------------------------------------------------- *函数名 : Get_Crc8 *函数功能描述 : 获取校验码, 从头异或到尾,反回校验码 *函数参数 : buf:需要算校验码的BUF,len: BUF的长度 *函数返回值 : CRC unsigned char Get_Crc8(unsigned char *buf,unsigned int len); ’带指针类语句不懂定义成狐表格式。 -------------------------------------------------- *函数名 : Get_Board_Addr *函数功能描述 : 读取锁控板的地址 查询的时候一次只能有一块板接到主机 *函数参数 : *addr 用表存板地址 *函数返回值 : 0表示失败,1:表示成功,2:表示设备没有响应, 5:返回值错误 6:CRC错误 unsigned char Get_Board_Addr(unsigned char *addr); ’带指针类语句不懂定义成狐表格式。 ------------------------------------------------------ *函数名 : Open_Board_Lock *函数功能描述 : 开柜 *函数参数 : num:柜号,从1 到24。
addr:板地址,取值为0X01到0X40
*lockState: 用于接收锁状态,11为开,00为关 *函数返回值 : 0表示失败,1:表示成功,2:表示设备没有响应, 3:板地址错误,4:柜号错误 5:返回值错误 6:CRC错误 unsigned char Open_Board_Lock(unsigned char addr,unsigned char num,unsigned char *lockState); ------------------------------------------------------- *函数名 : Read_Board_SigleDoor *函数功能描述 : 读单个柜门状态 *函数参数 : num:柜门号,从1 到24。
addr:板地址,取值为0X01到0X40
*lockState: 用于接收锁状态,11为开,00为关 *函数返回值 : 0表示失败,1:表示成功,2:表示设备没有响应, 3:板地址错误,4:门号错误 5:返回值错误 6:CRC错误 unsigned char Read_Board_SigleDoor(unsigned char addr,unsigned char doorNum,unsigned char *lockState); ------------------------------------------------------ 最后,针对VC的指针变量,是否需要提前为它准备数组变量吗? 先谢谢专家! [此贴子已经被作者于2018/1/13 19:49:43编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/1/14 20:04:00 -- 指针的,可以用StringBuilder处理。
比如
int BUSINESS_HANDLE(char* inputData,char* outputData)
就这样写
Public Declare Function INIT Lib "DLL\\SiInterface.dll" Alias "INIT"(pErrMsg As stringbuilder) As Integer
Public Declare Function BUSINESS_HANDLE Lib "DLL\\SiInterface.dll" Alias "BUSINESS_HANDLE"(InputData As StringBuilder, OutputData As StringBuilder) As Integer
调用,就这样写
Dim errMsg As StringBuilder = New StringBuilder(1024) Dim str2 As StringBuilder = New StringBuilder(1024) Dim str1 As StringBuilder = New StringBuilder("9100^301^admin^^201712291006400001^0000^^") INIT(errMsg) BUSINESS_HANDLE(str1, str2) |
-- 作者:lanbor -- 发布时间:2018/1/14 20:35:00 -- 感谢俩位专家回复! 感谢俩位专家回复! |
-- 作者:lanbor -- 发布时间:2018/1/15 10:22:00 -- 请求专家赐教狐表调用VC Dll 库的直接代码!赐教 跪求狐表专家赐教狐表调用VC Dll 库的直接代码! VC DLL库内容如附件. 昨晚遵照俩位专家的热心指教,摸索学习了几个小时,不得要领,没有结果。 还请专家在百忙中给于直接帮助,指教狐表调用VC Dll 库的代码(如附件) 真是感激不尽!
[此贴子已经被作者于2018/1/15 10:22:39编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/1/15 10:24:00 -- 如果不懂,建议叫厂家给你C#或者vb.net的实例,看人家代码怎么写的。
对于非托管的dll,一般都是声明函数进行调用 http://www.foxtable.com/webhelp/scr/2417.htm
|
-- 作者:lanbor -- 发布时间:2018/1/16 9:57:00 -- 请教:FT向串口发送VC变更值的格式。 请教专家:FT向串口发送VC变更值。 -----以下是VC定义的字Byte变更值--------- BYTE[0] = 0x9A BYTE[1] = 0x01 BYTE[2] = 0x96 --------------------------- 我希望用:ports(“COM3").write(字节数组) \'向com3发送变量值。 请教专家: 1.在FT中应该怎么定义这些变量? 2. 向COM3发送代码正确格式怎么写? 先谢谢您!
|
-- 作者:有点甜 -- 发布时间:2018/1/16 10:03:00 -- Dim Val() As Byte = New Byte() {&H9A,&H01,&H96} Ports("COM3").Write(Val, 0, Val.Length) |