Foxtable(狐表)用户栏目专家坐堂 → 调取存储在扫码枪里的数据(厂家有提供dll)


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

主题:调取存储在扫码枪里的数据(厂家有提供dll)

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/26 18:14:00 [显示全部帖子]

类似参考 http://www.foxtable.com/webhelp/scr/2417.htm

 

1、拷贝dll到安装目录;

 

2、在全局代码声明函数

 

Public Declare Function Read_data Lib "get_API.dll" Alias "Read_data" (addr As ulong, len As uinteger, byref data As Stringbuilder) As Char

 

3、调用

 

Dim addr = &H2000
Dim len = 60
Dim data As new Stringbuilder(60)
Dim result = Read_data(Addr,len,data)
msgbox(result)
msgbox(data.Tostring)


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/27 12:05:00 [显示全部帖子]

闪退有可能是foxtable不能使用你这个dll文件。

 

你用vs新建一个vb.net的项目,然后测试3楼代码。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/27 15:04:00 [显示全部帖子]

1、把dll文件拷贝到项目的debug文件夹。

 

2、加一个按钮,写这个代码

 

Dim addr = &H2000
Dim len = 60
Dim data As new Stringbuilder(60)
Dim result = Read_data(Addr,len,data)
msgbox(result)
msgbox(data.Tostring)

 

 

3、定义的代码,写到按钮代码的外面去。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/27 15:26:00 [显示全部帖子]

Imports System.Text

Public Class Form1
    Public Declare Function Read_data Lib "get_API.dll" Alias "Read_data" (addr As ULong, len As UInteger, ByRef data As StringBuilder) As Char

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Dim addr = &H2000
        Dim len = 60
        Dim data As New StringBuilder(60)
        Dim result = Read_data(addr, len, data)
        MsgBox(result)
        MsgBox(data.ToString)

    End Sub
End Class


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/27 15:34:00 [显示全部帖子]

新建的vb.net项目,平台请改成 .net framework 2.0 (右键属性那里设置)


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/27 16:09:00 [显示全部帖子]

如果你不插入设备,直接执行代码,也报错?

 

我执行执行没问题。我的是32位的操作系统,如果你的事64位的,你可能需要更换成64为的dll文件。

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/27 16:51:00 [显示全部帖子]

试试改成,如果不行,那你叫厂家给你一个C#或者vb.net的实例

 

Imports System.Text

Public Class Form1
    Public Declare Function Read_data Lib "get_API.dll" Alias "Read_data" (addr As ULong, len As Byte, ByRef data As Byte()) As Byte

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Dim addr As ULong = &H2000
        Dim len As Byte = 60
        Dim data(60) As Byte
        Dim result = Read_data(addr, len, data)
        MsgBox(result)
        MsgBox(data.length)
 

    End Sub
End Class

 

------------------------------------------------

 

 

Imports System.Text

Public Class Form1
    Public Declare Function Read_data Lib "get_API.dll" Alias "Read_data" (addr As ULong, len As Byte, ByRef data As StringBuilder) As Byte

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Dim addr As ULong = &H2000
        Dim len As Byte = 60
        Dim data as new stringbuilder(60)
        Dim result = Read_data(addr, len, data)
        MsgBox(result)
        MsgBox(data.tostring)
 

 

    End Sub
End Class


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/27 17:34:00 [显示全部帖子]

1、是不是你的设置码错了?

 

        Dim bar = "%%EnterSet"
        Dim result = send_bar_code(bar)
        bar = "%%SpecCode18"
        result = send_bar_code(bar)
 
2、返回的结果是一个数值,你希望返回什么?
 
Public Declare Function send_bar_code Lib "get_API.dll" Alias "send_bar_code" (ByVal bar As String) As Byte
 
 

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/27 17:34:00 [显示全部帖子]

果不行,那你叫厂家给你一个C#或者vb.net的实例。关键是那个函数要怎么声明使用。

 回到顶部