以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 截图按钮点击报错: GDI+ 中发生一般性错误 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=87667) |
-- 作者:ycwk -- 发布时间:2016/7/16 15:19:00 -- 截图按钮点击报错: GDI+ 中发生一般性错误 报如下错误: .NET Framework 版本:2.0.50727.8689 Foxtable 版本:2016.6.10.1 错误所在事件:窗口,软件自助报障系统窗口,btn_截屏并保存,Click 详细错误信息: GDI+ 中发生一般性错误。 代码如下: Dim myGraphics As Graphics = basemainform.CreateGraphics() Dim s As new Size(2000, 1000) \'截取的大小 Dim bit As New Bitmap(s.Width, s.Height, myGraphics) Dim memoryGraphics As Graphics = Graphics.FromImage(bit) memoryGraphics.CopyFromScreen(0, 0, 0, 0, s) \'截取的开始位置,坐标(100, 200) \'如果已有图片则删除 If FileSys.FileExists("\\\\172.16.11.5\\公用\\TaskManage\\软件自助报障系统文件存放\\test.jpg") Then \'如果指定的文件存在 FileSys.DeleteFile("\\\\172.16.11.5\\公用\\TaskManage\\软件自助报障系统文件存放\\test.jpg",2,2) \'则彻底删除之 MessageBox.Show(3) End If MessageBox.Show(2) bit.save(Tables("自助报障记录表").Current("问题描述附件") & "\\\\172.16.11.5\\公用\\TaskManage\\软件自助报障系统文件存放\\test.jpg") \'保存图片到服务器上 MessageBox.Show(1) Tables("自助报障记录表").Current("问题描述附件")="test.jpg" \'在"自助报障记录表"中保存上述图片路径 \'Tables("自助报障记录表").current.Save ---------------------------- MessageBox.Show(2) 执行完后就报错 bit.save的时候报错 \\\\172.16.11.5\\公用\\TaskManage\\软件自助报障系统文件存放 这个路径是可读可写的,刚才还成功了一次,后来再点这个按钮就不行了。 [此贴子已经被作者于2016/7/16 15:27:36编辑过]
|
-- 作者:Hyphen -- 发布时间:2016/7/16 16:23:00 -- bit.save("\\\\172.16.11.5\\公用\\TaskManage\\软件自助报障系统文件存放\\test.jpg") |
-- 作者:ycwk -- 发布时间:2018/3/21 18:17:00 -- 改成了FTP管理图片,还是报那个错,在源码中运行不报,生成的exe文件报错, 不知道咋回事 Dim myGraphics As Graphics = basemainform.CreateGraphics() Dim s As new Size(2000, 1000) \'截取的大小 Dim bit As New Bitmap(s.Width, s.Height, myGraphics) Dim memoryGraphics As Graphics = Graphics.FromImage(bit) memoryGraphics.CopyFromScreen(0, 0, 0, 0, s) \'截取的开始位置,坐标(100, 200) Dim str_serialno As String = e.Form.Controls("TB_日常问题ID").value & "_" & Format(Date.now, "yyMMddhhmmss") & ".jpg" \'bit.save("\\\\172.16.11.5\\pm文件\\各表附件\\自助报障记录表\\" & str_serialno ) \'保存到共享文件夹 bit.save(ProjectPath & "RemoteFiles\\" & str_serialno) \'保存图片到本地 \'msgbox(2) \'上传到FTP服务器 Dim ftp1 As new ftpclient ftp1.host="172.16.5.89" ftp1.Account = "administrator" ftp1.password = "Admin1234" \'ftp1.UTF8=True ftp1.upload(ProjectPath & "RemoteFiles\\" & str_serialno,"/各表附件/自助报障记录表/" & str_serialno,True) \'上传 \'MessageBox.show(1) Tables("自助报障记录表").Current("问题描述附件")= str_serialno \'在"自助报障记录表"中保存上述图片路径 Tables("自助报障记录表").current.Save \'bit.Dispose() \'丢弃资源,不知道是否起作用 MessageBox.Show("截图成功", "提示",MessageBoxButtons.Ok,MessageBoxIcon.Question, 0, Windows.forms.MessageBoxOptions.ServiceNotification) \'模态窗口提示 \'e.Form.Controls("PictureBox1").autoscroll = False \'王昆 20180321加的,不知道起不起作用 Dim pbx As WinForm.PictureBox= Forms("软件自助报障系统窗口").Controls("PictureBox1") pbx.SizeMode = ImageSizeMode.Zoom pbx.Image = GetImage(ProjectPath & "RemoteFiles\\" & str_serialno) \'Dim req = System.Net.WebRequest.Create("ftp://075:075@172.16.5.13/李朝阳/617_180321090216.jpg") \'Dim img As Image = Image.FromStream(req.GetResponse().GetResponseStream()) \'pbx.image = img
|
-- 作者:ycwk -- 发布时间:2018/3/21 18:29:00 -- 通过msgbox 检查,执行到这句的时候报错 bit.save(ProjectPath & "RemoteFiles\\" & str_serialno) \'保存图片到本地
|
-- 作者:有点甜 -- 发布时间:2018/3/21 21:26:00 -- 你项目没有 RemoteFiles 文件夹,就会报错。
可以手动创建,或者代码创建 http://www.foxtable.com/webhelp/scr/0332.htm
http://www.foxtable.com/webhelp/scr/0334.htm
|
-- 作者:ycwk -- 发布时间:2018/3/21 21:59:00 -- 您的回答坚定了我的想法,但是为什么 我在源码下运行时 ProjectPath = d:\\项目\\ 而在生成的exe 文件下运行时 ProjectPath = d:\\项目\\publish\\Project 多了一层 project ? project下没有RemoteFiles,故报错
|
-- 作者:有点甜 -- 发布时间:2018/3/21 23:20:00 -- publish文件夹下,是foxtable主程序;project文件夹下,才是你的项目的程序文件夹。
applicationPath = d:\\项目\\publish |
-- 作者:ycwk -- 发布时间:2018/3/22 10:02:00 -- ApplicationPath 返回的是 foxtable安装目录啊, 并不是我项目运行的目录啊 |
-- 作者:有点甜 -- 发布时间:2018/3/22 10:06:00 -- 以下是引用ycwk在2018/3/22 10:02:00的发言:
ApplicationPath 返回的是 foxtable安装目录啊, 并不是我项目运行的目录啊
发布后,就是你项目运行的publish文件夹了。没发布,就是foxtable安装目录。 |