Foxtable(狐表)用户栏目专家坐堂 → [求助]扫描仪图片存储路径


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

主题:[求助]扫描仪图片存储路径

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


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
[求助]扫描仪图片存储路径  发帖心情 Post By:2018/4/10 12:55:00 [只看该作者]

1、在全局代码设置了存储路径,默认为ProjectPath & "Attachments\sm" :
'扫描事件
Public Sub LinkLabel1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim frm As WinForm.Form = Forms("图片管理器")
Dim piv As WinForm.PictureViewer = Forms("图片管理器").Controls("PictureViewer1")
Dim imageFile As WIA.imageFile
Dim cdc As  New WIA.CommonDialogClass()

Try
    imageFile = cdc.ShowAcquireImage(WIA.WiaDeviceType.ScannerDeviceType, WIA.WiaImageIntent.TextIntent, WIA.WiaImageBias.MaximizeQuality, "{00000000-0000-0000-0000-000000000000}", True, True,False)
    If  imageFile IsNot Nothing Then
        'Dim path As String = ProjectPath & "Attachments\sm" & Format(Date.Now,"yyyyMMddHHmmss") & ".jpg"
        '-----------------------------------
        Dim ary = piv.BindingField.split(".")      '有点甜改扫描存放地址
        Dim str As String = Tables(ary(0)).DataTable.DataCols(ary(1)).DefaultFolder
        str = iif(str = "", projectPath & "attachments", str)
        Dim path As String = str & "\sm" & Format(Date.Now,"yyyyMMddHHmmss") & ".jpg"
        '-----------------------------------
        imageFile.SaveFile(path)
        piv.AddFile(FileSys.GetName(path))
    End If
Catch generatedExceptionName As System.Runtime.InteropServices.COMException
    MessageBox.Show("您的扫描仪尚未准备好!","错误",MessageBoxButtons.OK,MessageBoxIcon.Error)
End Try
End Sub

2、扫描仪窗口afterload,设置了绑定字段:
Dim pbx As WinForm.PictureViewer '图片浏览器绑定窗口表列
pbx = Forms("图片管理器").Controls("PictureViewer1")
pbx.BindingField = "扫描仪_Table1.扫描图片"
--------------------------------------------------------------

问题:
还需要在表格的列属性或者窗口图片浏览器控件设置存储路径吗?
现在不设置或者都设置为”\sm“,扫描后,都提示系统找不到指定路径。
请老师看看是哪里问题。
谢谢!


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


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

弹出值看看不就好了?

 

Dim str As String = Tables(ary(0)).DataTable.DataCols(ary(1)).DefaultFolder

msgbox(str)

str = iif(str = "", projectPath & "attachments/sm/", str)
msgbox(str)
Dim path As String = str & "\" & Format(Date.Now,"yyyyMMddHHmmss") & ".jpg"
msgbox(path)

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


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2018/10/9 12:14:00 [只看该作者]

一直用着没有问题,现在点击扫描时出现下列提示:

 

系统调用失败:异常来自 HRESULT:0x80010100 (RPC_E_SYS_CALL_FAILED)

 

 
此主题相关图片如下:aaa.jpg
按此在新窗口浏览图片

 

我查看了所有涉及扫描的代码,并没有改动过,打开先前备份的项目,也可以正常扫描。

会是哪里的原因?


[此贴子已经被作者于2018/10/9 12:14:23编辑过]

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


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

如果原来的项目正常,那拷贝原来的代码覆盖现在代码后测试


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


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2018/10/11 11:13:00 [只看该作者]

甜老师好!

又测试了2天,项目原有60(有时61)个表,发现在所有代码不变的情况下,如果再创建一个表(内部表和外部表都试过),使表数量增加1个后,扫描就会报错。

删除任意1个表,使表数量减少1个,再重启项目,扫描就正常了。

这是什么情况?好像只给表的数量有关,与具体表的内容无关。


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


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

 

把扫描功能单独拿出来测试,去掉多余的代码单独测试 ShowAcquireImage

 

在你的项目以及新项目那里一起测试。


 回到顶部