Foxtable(狐表)用户栏目专家坐堂 → 调用高拍仪DLL求教


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

主题:调用高拍仪DLL求教

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


加好友 发短信
等级:三尾狐 帖子:721 积分:6391 威望:0 精华:0 注册:2011/6/26 11:45:00
调用高拍仪DLL求教  发帖心情 Post By:2018/4/24 11:07:00 [只看该作者]

把高拍仪dll(AxInterop.eloamComLib.dll,Interop.eloamComLib.dll)复制到ft的目录下以后,在全局代码里如何定义引用?

下面是VB.NET的例子:

Option Explicit On
Public Class elaomComForm
    Dim ImgPath As String


    Dim WithEvents eloamGlobalEvent As eloamComLib.EloamGlobal

    Dim EloamGlobal As eloamComLib.EloamGlobal
    Dim DevArrary() As eloamComLib.EloamDevice
    Dim Device As eloamComLib.EloamDevice
    Dim Video As eloamComLib.EloamVideo

    Private Sub elaomComForm_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Dim bInit As Boolean
        Dim devCount As Integer
        Dim Dev As eloamComLib.EloamDevice
        Dim i As Integer
        Dim DevName As String

        EloamGlobal = New eloamComLib.EloamGlobal
        eloamGlobalEvent = New eloamComLib.EloamGlobal

        bInit = EloamGlobal.InitDevs()

        If bInit = True Then
            devCount = EloamGlobal.GetDevCount(1)
            If devCount > 0 Then
                ReDim DevArrary(0 To devCount - 1)
                For i = 0 To devCount - 1
                    Dev = EloamGlobal.CreateDevice(1, i)
                    DevArrary(i) = Dev

                    DevName = Dev.GetFriendlyName()
                    ComboBox_dev.Items.Add(DevName)
                Next (i)
                ComboBox_dev.SelectedIndex = 0
            Else
                Button_preview.Enabled = False
                Button_start_idcard.Enabled = False
                Button_capture.Enabled = False
                MsgBox("没有找到设备")
            End If
        Else
            MsgBox("初始化设备失败")
            Exit Sub
        End If
    End Sub

[此贴子已经被作者于2018/4/24 11:13:16编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/24 11:54:00 [只看该作者]

1、引用dll

 

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

 

2、写代码

 

Dim EloamGlobal As eloamComLib.EloamGlobal
Dim DevArrary() As eloamComLib.EloamDevice
Dim Device As eloamComLib.EloamDevice
Dim Video As eloamComLib.EloamVideo
Dim bInit As Boolean
Dim devCount As Integer
Dim Dev As eloamComLib.EloamDevice
Dim i As Integer
Dim DevName As String


EloamGlobal = New eloamComLib.EloamGlobal
eloamGlobalEvent = New eloamComLib.EloamGlobal

bInit = EloamGlobal.InitDevs()


If bInit = True Then
    msgbox("成功")
Else
    MsgBox("初始化设备失败")   
End If


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


加好友 发短信
等级:三尾狐 帖子:721 积分:6391 威望:0 精华:0 注册:2011/6/26 11:45:00
  发帖心情 Post By:2018/4/25 0:40:00 [只看该作者]

全局代码不是用Public的吗?我试了一下还是没办法连接高拍仪!

未能加载文件或程序集“Interop.eloamComLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。生成此程序集的运行时比当前加载的运行时新,无法加载此程序集。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/25 9:14:00 [只看该作者]

1、在你的电脑上,要安装和注册高拍仪的驱动;然后连上高拍仪;

 

2、然后引用dll,写2楼代码。


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


加好友 发短信
等级:三尾狐 帖子:721 积分:6391 威望:0 精华:0 注册:2011/6/26 11:45:00
  发帖心情 Post By:2018/4/25 9:20:00 [只看该作者]

Dim EloamGlobal As eloamComLib.EloamGlobal
Dim DevArrary() As eloamComLib.EloamDevice
Dim Device As eloamComLib.EloamDevice
Dim Video As eloamComLib.EloamVideo
Dim bInit As Boolean
Dim devCount As Integer
Dim Dev As eloamComLib.EloamDevice
Dim i As Integer
Dim DevName As String


EloamGlobal = New eloamComLib.EloamGlobal
eloamGlobalEvent = New eloamComLib.EloamGlobal

bInit = EloamGlobal.InitDevs()


这行代码肯定会报错啊!

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/25 9:40:00 [只看该作者]

1、你的dll必须是.net framework2.0或者3.5版本的dll,如果不是,请用vs打开实例,重新生成;

 

2、按照4楼和第一点去做,不可能报错。


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


加好友 发短信
等级:三尾狐 帖子:721 积分:6391 威望:0 精华:0 注册:2011/6/26 11:45:00
  发帖心情 Post By:2018/4/25 10:44:00 [只看该作者]

.assembly Interop.eloamComLib
{
  .ver 1:0:0:0
}

IL DASM 看了一下!显示这个是什么版本的?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/25 10:52:00 [只看该作者]

下载一个 vs2012

 

打开厂家给你的实例,把.net framework版本设置成 2.0 然后重新生成。去debug文件夹下把dll文件拷贝出来。

 

https://jingyan.baidu.com/article/546ae1850129af1148f28c5d.html

 


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


加好友 发短信
等级:三尾狐 帖子:721 积分:6391 威望:0 精华:0 注册:2011/6/26 11:45:00
  发帖心情 Post By:2018/4/25 12:02:00 [只看该作者]

vs2017可以吗?用VB.NET的实例来重新生成?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/25 12:10:00 [只看该作者]

以下是引用xietan417在2018/4/25 12:02:00的发言:
vs2017可以吗?用VB.NET的实例来重新生成?

 

可以的,能打开实例即可。打开后,设置好.net framework,重新编译,编译成功后,把debug下的dll文件拷贝出来。


 回到顶部
总数 22 1 2 3 下一页