以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=63648)

--  作者:bqgln789
--  发布时间:2015/1/25 18:57:00
--  [求助]

调用sms.dll 文件 全局代码如下

Public Declare Function Sms_Connection Lib  "sms.dll" Alias  "Sms_Connection" (ByVal  Port As  Integer,Com_BaudRate As Integer,ByVal Mobile_Type As String) As Integer \'连接设备

 

在窗口中增加一个btn控件,在click事件中写如下代码

MessageBox.Show( Sms_Connection(7,1000,""))

 在运行窗口时,第一次点击按钮 程序正常执行,如果在点击一次按钮时 程序报错

图片点击可在新窗口打开查看
  尝试读取或写人受保护的内存
关闭窗口后 在次打开执行 与上面所述相同。问题出在哪里呢?
[此贴子已经被作者于2015-1-25 19:05:24编辑过]

--  作者:有点甜
--  发布时间:2015/1/25 19:06:00
--  
 应该是你这个dll的问题,是不是不能重复连接?或者重新连接之前,先要关闭?
--  作者:bqgln789
--  发布时间:2015/1/25 19:11:00
--  
是的,遇到这样的问题应该怎么处理呢
--  作者:有点甜
--  发布时间:2015/1/25 19:14:00
--  
以下是引用bqgln789在2015-1-25 19:11:00的发言:
是的,遇到这样的问题应该怎么处理呢

 

肯定有关闭连接的函数,或者判断是否已经连接的函数或属性


--  作者:bqgln789
--  发布时间:2015/1/25 19:17:00
--  
明白您的意思了,我看了下他们给的dll调用说明  里面有个Sms_Disconnection() As Integer 函数,断开终端与串口的连接;是不是 我要定义个api  并把他加载程序中就可以了啊。我试试,有问题在联系您。谢谢
--  作者:bqgln789
--  发布时间:2015/1/25 19:27:00
--  


MessageBox.Show( Sms_Connection(7,1000,""))
Sms_Disconnection()

 

添加了上面的代码,情况没有变化,好像弹出对话框后 马上就报上面的错误了

[此贴子已经被作者于2015-1-25 19:29:00编辑过]

--  作者:有点甜
--  发布时间:2015/1/25 19:29:00
--  

不可能。你要先关闭才能打开,之前可能打开了。


--  作者:bqgln789
--  发布时间:2015/1/25 19:31:00
--  
感觉是调用的dll没有被释放 而不是端口或设备的断开问题
--  作者:有点甜
--  发布时间:2015/1/25 19:35:00
--  
 不可能,请查看API,或者直接查看人家的C# 或者 vb.net的代码
--  作者:bqgln789
--  发布时间:2015/1/25 19:45:00
--  
我的qq 281706265  可以帮我看看吗