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


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

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

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


加好友 发短信
等级:幼狐 帖子:59 积分:463 威望:0 精华:0 注册:2017/2/28 8:50:00
[求助]帮我看看这个dll调用失败是哪里错了  发帖心情 Post By:2017/3/1 10:45:00 [只看该作者]

1、VB下的函数调用声明
 
Private Declare Function mbtcpConnect Lib "modbus_tcp.dll" (ByVal nport As Long, ByVal IpPort As Long, ByVal IpAddress As String, ByVal User As String) As Long
 
调用举例: k = mbtcpConnect(0, 502, "85.16.1.1", "wjun")  '启动0号网络链接,从IP地址85.16.1.1,网络端口502的设备进行通讯     这里是帮助文档里的VB调用说明 



Declare Function mbtcpConnect Lib "modbus_tcp.dll" (ByVal nport As Long, ByVal IpPort As Long, ByVal IpAddress As String, ByVal User As String) As Long   这个是写在fox全局代码里面的



图片点击可在新窗口打开查看mbtcpConnect(0, 502, "85.16.1.1", "wjun")    这个代码是打开端口,我用按键触发这条指令就会出现图片上的错误提示,但是我另外一个自己编写的dll调用可以成功,请教大神指点。
图片点击可在新窗口打开查看此主题相关图片如下:dll调用失败提示.png
图片点击可在新窗口打开查看

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


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

0.0.0

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


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

1、把dll文件拷贝到foxtable的安装目录下

 

2、全局代码定义

 

public Declare Function mbtcpConnect Lib "modbus_tcp.dll" (ByVal nport As Long, ByVal IpPort As Long, ByVal IpAddress As String, ByVal User As String) As Long  


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


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

还是存在那个错误,还有我是否需要添加这个dll,按照帮助文件里面介绍,我是不要添加的。

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


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

 对应的dll文件拷贝到foxtable安装文件夹下了吗?

 

 你用什么工具开发调用成功的?


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


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

易语言调用过,
而且我用易语言写了一个dll在fox里调用成功了,不过调用这个modbus的dll文件就不行。

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


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

 那,你就间接来做囖。通过易语言先调用生成dll,再使用。

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


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

试了下,不过又出现了新的情况,提示“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”



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


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

是不是我引用变量的时候路径定义错了,不过我按照网上说的那个关掉DEP也不行呀,而且只有12版本的可以关,16版本的还关不掉…………

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


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

 应该是定义得有问题。string,尽量定义成 stringbuilder

 

http://www.foxtable.com/webhelp/scr/2097.htm

 


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