以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]扫描仪图片存储路径 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=117299) |
-- 作者:天一生水 -- 发布时间: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“,扫描后,都提示系统找不到指定路径。 请老师看看是哪里问题。 谢谢! |
-- 作者:有点甜 -- 发布时间: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)
|
-- 作者:天一生水 -- 发布时间:2018/10/9 12:14:00 -- 一直用着没有问题,现在点击扫描时出现下列提示:
系统调用失败:异常来自 HRESULT:0x80010100 (RPC_E_SYS_CALL_FAILED)
我查看了所有涉及扫描的代码,并没有改动过,打开先前备份的项目,也可以正常扫描。 会是哪里的原因? [此贴子已经被作者于2018/10/9 12:14:23编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/10/9 12:35:00 -- 如果原来的项目正常,那拷贝原来的代码覆盖现在代码后测试 |
-- 作者:天一生水 -- 发布时间:2018/10/11 11:13:00 -- 甜老师好! 又测试了2天,项目原有60(有时61)个表,发现在所有代码不变的情况下,如果再创建一个表(内部表和外部表都试过),使表数量增加1个后,扫描就会报错。 删除任意1个表,使表数量减少1个,再重启项目,扫描就正常了。 这是什么情况?好像只给表的数量有关,与具体表的内容无关。 |
-- 作者:有点甜 -- 发布时间:2018/10/11 11:21:00 --
把扫描功能单独拿出来测试,去掉多余的代码单独测试 ShowAcquireImage
在你的项目以及新项目那里一起测试。 |