以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于函数执行  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=7295)

--  作者:sophia
--  发布时间:2010/6/4 20:32:00
--  关于函数执行

我把termb.dll文件复制到了狐表目录下,在全局代码中定义API函数IniComm,格式如下:

Private Declare Function CVR_InitComm Lib "termb.dll" (ByVal Port As Integer) As Integer

    Public  Function InitComm() As Boolean   \'遍历串口,端口查找设备。找到返回True
        For i As Integer = 1 To 4
            If CVR_InitComm(i) = 1 Then Return True
        Next
        For i As Integer = 1001 To 1004
            If CVR_InitComm(i) = 1 Then Return True
        Next
        Return False
    End Function

在窗口中做了个按钮,其click事件代码为:
if InitComm()= true then
    messagebox.show("设备已经启动")
end if
可是系统提示如图:是全局代码中定义错了还是事件代码中写错了呢?


图片点击可在新窗口打开查看此主题相关图片如下:111.jpg
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2010/6/5 7:36:00
--  

也许你的定义有误吧,还有,CVR_InitComm定义了吗?

 


--  作者:sophia
--  发布时间:2010/6/5 8:00:00
--  

这不是已经定义好了吗?

Private Declare Function CVR_InitComm Lib "termb.dll" (ByVal Port As Integer) As Integer

 


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2010/6/5 8:23:00
--  

不清楚怎么回事,这个你直接贴出vb.net的代码,向设备供应商请教比较好。


--  作者:jxkqf
--  发布时间:2010/6/5 18:12:00
--  

我以前也遇到过这种问题,见http://www.foxtable.com/dispbbs.asp?boardid=2&id=5152&authorid=0&page=0&star=5

第48楼,到现在也没弄明白。