Foxtable(狐表)用户栏目专家坐堂 → [求助]帮我看看这个dll调用失败是哪里错了


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

主题:[求助]帮我看看这个dll调用失败是哪里错了

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


加好友 发短信
等级:幼狐 帖子:59 积分:463 威望:0 精华:0 注册:2017/2/28 8:50:00
  发帖心情 Post By:2017/3/2 16:03:00 [只看该作者]

谢谢,已经得到解决。

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


加好友 发短信
等级:幼狐 帖子:59 积分:463 威望:0 精华:0 注册:2017/2/28 8:50:00
  发帖心情 Post By:2017/3/2 16:07:00 [只看该作者]

function mbtcpfcn03(nport,node,address,Count:LongInt; RxdBuffer:PlongInt):LongInt;stdcall;
 
参数说明
 
    nport: 网络连接号,取值为0~127128个网络链接
 
    node:  从站号或单元标识符,从站时取值为1~255;  
 
    address:  元件地址,modbus标准地址40001~4XXXX地址区,(读取时使用偏移地址传入,地址值从0000开始);
 
    Count:    读元件个数,一次最多读125个,但不能超出寻址范围;
   
    RxdBuffer: 整数指针类型,指向一个定义1024个数的整数数组;单个数组单元值范围为-32768~+32767              
              
返回值:长整型
 
   返回值:操作成功返回:Count,操作失败返回:-1
 
注:非注册用户,可以读取modbus标准地址40001~100088个位地址。
 
1、VB下的函数调用声明
 
Private Declare Function mbtcpfcn03 Lib "modbus_tcp.dll" (ByVal nport As Long, ByVal node As Long, ByVal address As Long, ByVal Count As Long, RxdBuffer As Any) As Long
 
调用举例
   Dim buffer(1024) As Long '定义一个数据接收缓冲区   
   Dim k As Long    
    '通过网络链接0modbus从站号1modbus标准地址40001~4002020个字的数据值读出 
   k = mbtcpfcn03(0, 1, 0, 20,buffer(0))  


RxdBuffer As Any)  还有一个问题,就是这个数据类型我应该如何定义才能在fox里正常使用

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/2 16:14:00 [只看该作者]

 any 对应 Object

 回到顶部
总数 13 上一页 1 2