以文本方式查看主题

-  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=119776)

--  作者:goodhawk
--  发布时间:2018/5/31 18:03:00
--  [求助] 调用外部DLL没法调通
用了外部的dll, 在VB里头能调用得通, 但是在foxtable里头会报错,


图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图20180531160004.png
图片点击可在新窗口打开查看

 在foxtable 里头显示如上的错误 

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

下面的沟通是跟客服小黄的交流:

图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图20180531180218.png
图片点击可在新窗口打开查看

我的问题是: 这个是类, 怎么声明, 怎么用?

代码:
Dim t As eloamComLib.EloamGlobal

If t.InitDevs() Then

MessageBox.Show("OK")

End If



--  作者:有点甜
--  发布时间:2018/5/31 18:12:00
--  
你在vs工具里面,新建一个vb.net项目,能否调通?
--  作者:有点甜
--  发布时间:2018/5/31 18:14:00
--  

如果vb.net调通了,去debug文件夹,把生成的dll文件拷贝出来,在foxtable里面引用。


--  作者:有点甜
--  发布时间:2018/5/31 18:15:00
--  

看看 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=118055&skin=0

 


--  作者:goodhawk
--  发布时间:2018/5/31 18:49:00
--  
以下是引用有点甜在2018/5/31 18:15:00的发言:

看看 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=118055&skin=0

 

我用的高拍仪跟你提供的帖子一模一样。 


不过对方的处理方式,我觉得不一定对, @有点甜, 现在就是一个问题, 一个 dll(我猜测对方是用c或者c++封装的), 在VB里头能用, 

如何让这个dll在 foxtable 里头也能用


关于那个 framework 2.0, 3.5 的问题, 晚上我找朋友来生成一下


--  作者:有点甜
--  发布时间:2018/5/31 20:55:00
--  
就是这样用的:vb.net里面做一个项目,引用com控件进来,生成接口dll以后,拷贝出来,在foxtable引用此dll,即可。
--  作者:goodhawk
--  发布时间:2018/5/31 21:03:00
--  
其实我这个的接口不是 com 控件, 是一个 dll ,厂商也说他们对外提供的也是一个 dll

如下就是这个厂商外露的 dll 文件,@有点甜, 能否在 foxtable 里头定义个 类,类似这样子:
Dim vEloamGlobal As eloamComLib.EloamGlobal

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:eloamcom.zip



图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图20180531210233.png
图片点击可在新窗口打开查看


--  作者:goodhawk
--  发布时间:2018/5/31 22:12:00
--  
晚上朋友帮忙转换成 dll 2.0 后, 目前是OK的。 明日再细节试一下。
--  作者:goodhawk
--  发布时间:2018/6/1 14:25:00
--  
调试了一下, 这个是个初级版本, 可以支持高拍仪的扫描:

步骤:
1, dll 通过老师说的, 转成一个 framework 2.0 的版本,debug 出来会有2个dll, 只需要引用 Interop.eloamComLib.dll 即可

2, 在foxtable 里头做增加,引用

3, 代码参照如下: 是能拍,偶尔会弹出来对象没有引用, 甚是奇怪

以下内容为程序代码:

1 Dim EloamGlobal As New eloamComLib.EloamGlobal
2 Dim EloamDevice As New eloamComLib.EloamDevice
3 Dim EloamVideo As New eloamComLib.EloamVideo
4 Dim EloamImage As New eloamComLib.EloamImage
5 Dim EloamView As New eloamComLib.EloamView
6 Dim fileName As String
7 Dim vpicBox As WinForm.PictureBox = e.Form.Controls("picBox")
8
9 fileName = "E:\\" + Format(Now, "yymmddhhmmss") + ".jpg"
10
11
12 \'初始化
13 If EloamGlobal.InitDevs() Then
14 MsgBox ("成功:" & EloamGlobal.GetFriendlyName(1, 0))
15 Else
16 MsgBox ("初始化设备失败")
17 End If
18
19 \'创建设备
20 EloamDevice = EloamGlobal.CreateDevice(1, 0)
21 EloamVideo = EloamDevice.CreateVideo(0, 1)
22
23 EloamImage = EloamVideo.CreateImage(16, EloamView) \'A4画幅
24
25 \'EloamImage = Rotate90_180(EloamImage, 90)
26
27 If EloamImage.Save(fileName, 0) Then
28 MsgBox ("扫描成功,文件名:" & fileName)
29 Else
30 MsgBox ("扫描失败")
31 End If
32
33 vpicBox.ImageFile = filename
34
35 \'销毁设备
36 EloamVideo.Destroy
37 EloamDevice.Destroy
38 EloamGlobal.DeinitDevs


--  作者:有点甜
--  发布时间:2018/6/1 15:28:00
--  

如果报错,加入msgbox调试一下错误

 

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