Foxtable(狐表)用户栏目专家坐堂 → [求助] 调用外部DLL没法调通


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

主题:[求助] 调用外部DLL没法调通

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


加好友 发短信
等级:幼狐 帖子:120 积分:1134 威望:0 精华:0 注册:2018/3/22 15:58:00
[求助] 调用外部DLL没法调通  发帖心情 Post By:2018/5/31 18:03:00 [只看该作者]

用了外部的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



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


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

你在vs工具里面,新建一个vb.net项目,能否调通?

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


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

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


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


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


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


加好友 发短信
等级:幼狐 帖子:120 积分:1134 威望:0 精华:0 注册:2018/3/22 15:58:00
  发帖心情 Post By: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 的问题, 晚上我找朋友来生成一下


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


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

就是这样用的:vb.net里面做一个项目,引用com控件进来,生成接口dll以后,拷贝出来,在foxtable引用此dll,即可。

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


加好友 发短信
等级:幼狐 帖子:120 积分:1134 威望:0 精华:0 注册:2018/3/22 15:58:00
  发帖心情 Post By:2018/5/31 21:03:00 [只看该作者]

其实我这个的接口不是 com 控件, 是一个 dll ,厂商也说他们对外提供的也是一个 dll

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

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



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


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


加好友 发短信
等级:幼狐 帖子:120 积分:1134 威望:0 精华:0 注册:2018/3/22 15:58:00
  发帖心情 Post By:2018/5/31 22:12:00 [只看该作者]

晚上朋友帮忙转换成 dll 2.0 后, 目前是OK的。 明日再细节试一下。

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


加好友 发短信
等级:幼狐 帖子:120 积分:1134 威望:0 精华:0 注册:2018/3/22 15:58:00
  发帖心情 Post By: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


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


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

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

 

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

 


 回到顶部