以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 调用高拍仪DLL求教 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=118055) |
-- 作者:xietan417 -- 发布时间:2018/4/24 11:07:00 -- 调用高拍仪DLL求教 把高拍仪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编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/4/24 11:54:00 -- 1、引用dll
http://www.foxtable.com/webhelp/scr/1936.htm
2、写代码
Dim EloamGlobal As eloamComLib.EloamGlobal
bInit = EloamGlobal.InitDevs()
|
-- 作者:xietan417 -- 发布时间:2018/4/25 0:40:00 -- 全局代码不是用Public的吗?我试了一下还是没办法连接高拍仪! 未能加载文件或程序集“Interop.eloamComLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。生成此程序集的运行时比当前加载的运行时新,无法加载此程序集。
|
-- 作者:有点甜 -- 发布时间:2018/4/25 9:14:00 -- 1、在你的电脑上,要安装和注册高拍仪的驱动;然后连上高拍仪;
2、然后引用dll,写2楼代码。 |
-- 作者:xietan417 -- 发布时间:2018/4/25 9:20:00 -- Dim EloamGlobal As eloamComLib.EloamGlobal
bInit = EloamGlobal.InitDevs() 这行代码肯定会报错啊!
|
-- 作者:有点甜 -- 发布时间:2018/4/25 9:40:00 -- 1、你的dll必须是.net framework2.0或者3.5版本的dll,如果不是,请用vs打开实例,重新生成;
2、按照4楼和第一点去做,不可能报错。 |
-- 作者:xietan417 -- 发布时间:2018/4/25 10:44:00 -- .assembly Interop.eloamComLib { .ver 1:0:0:0 } IL DASM 看了一下!显示这个是什么版本的?
|
-- 作者:有点甜 -- 发布时间:2018/4/25 10:52:00 -- 下载一个 vs2012
打开厂家给你的实例,把.net framework版本设置成 2.0 然后重新生成。去debug文件夹下把dll文件拷贝出来。
https://jingyan.baidu.com/article/546ae1850129af1148f28c5d.html
|
-- 作者:xietan417 -- 发布时间:2018/4/25 12:02:00 -- vs2017可以吗?用VB.NET的实例来重新生成? |
-- 作者:有点甜 -- 发布时间:2018/4/25 12:10:00 -- 以下是引用xietan417在2018/4/25 12:02:00的发言:
vs2017可以吗?用VB.NET的实例来重新生成?
可以的,能打开实例即可。打开后,设置好.net framework,重新编译,编译成功后,把debug下的dll文件拷贝出来。 |