Foxtable(狐表)用户栏目专家坐堂 → 请教专家狐表有无什么方法调用VC的 dll 库


  共有2069人关注过本帖树形打印复制链接

主题:请教专家狐表有无什么方法调用VC的 dll 库

帅哥哟,离线,有人找我吗?
lanbor
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:433 积分:4351 威望:0 精华:0 注册:2017/3/20 21:08:00
请教专家狐表有无什么方法调用VC的 dll 库  发帖心情 Post By:2018/1/13 16:09:00 [只看该作者]

请教专家:
狐表有无什么方法直接调用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 库?
诚请专家指点一下!
谢谢你!

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107757 积分:548124 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:433 积分:4351 威望:0 精华:0 注册:2017/3/20 21:08:00
感谢专家指点。  发帖心情 Post By:2018/1/13 18:57:00 [只看该作者]

根据您的指点,我再认真学习一下看看。
多谢多谢!

 回到顶部
帅哥哟,离线,有人找我吗?
lanbor
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:433 积分:4351 威望:0 精华:0 注册:2017/3/20 21:08:00
感谢专家指点!再请教一下。  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:433 积分:4351 威望:0 精华:0 注册:2017/3/20 21:08:00
感谢俩位专家回复!  发帖心情 Post By:2018/1/14 20:35:00 [只看该作者]

感谢俩位专家回复!

 回到顶部
帅哥哟,离线,有人找我吗?
lanbor
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:433 积分:4351 威望:0 精华:0 注册:2017/3/20 21:08:00
请求专家赐教狐表调用VC Dll 库的直接代码!赐教  发帖心情 Post By:2018/1/15 10:22:00 [只看该作者]

跪求狐表专家赐教狐表调用VC Dll 库的直接代码!

VC DLL库内容如附件.

昨晚遵照俩位专家的热心指教,摸索学习了几个小时,不得要领,没有结果。
还请专家在百忙中给于直接帮助,指教狐表调用VC Dll 库的代码(如附件)

真是感激不尽!
[此贴子已经被作者于2018/1/15 10:22:39编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/15 10:24:00 [只看该作者]

如果不懂,建议叫厂家给你C#或者vb.net的实例,看人家代码怎么写的。

 

对于非托管的dll,一般都是声明函数进行调用 http://www.foxtable.com/webhelp/scr/2417.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
lanbor
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:433 积分:4351 威望:0 精华:0 注册:2017/3/20 21:08:00
请教:FT向串口发送VC变更值的格式。  发帖心情 Post By:2018/1/16 9:57:00 [只看该作者]

请教专家:FT向串口发送VC变更值。
-----以下是VC定义的字Byte变更值---------
BYTE[0] = 0x9A
BYTE[1]  = 0x01
BYTE[2] = 0x96
---------------------------
我希望用:ports(“COM3").write(字节数组) '向com3发送变量值。
请教专家:
1.在FT中应该怎么定义这些变量?
2. 向COM3发送代码正确格式怎么写?

先谢谢您!

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/16 10:03:00 [只看该作者]

Dim Val() As Byte = New Byte() {&H9A,&H01,&H96}

Ports("COM3").Write(Val, 0, Val.Length)


 回到顶部
总数 11 1 2 下一页