以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  30分钟后。输入延迟问题重新发  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=74933)

--  作者:jinzhengbe
--  发布时间:2015/9/23 8:07:00
--  30分钟后。输入延迟问题重新发

打开程序后 ,在c盘建立一个 图片的文件夹 (在文件夹里放入批量的图片。一般是1000张左右)

然后点  导入按钮 ,系统会自动导入,数据

现在有个问题是, cs1.cs2。   是输入价格的地方 。

刚刚打开程序的时候 还好,输入都正常,过了一段时间后 大概30分钟后, 输入的速度明显变慢,症状如下

假如 我输入 33   回车
价格位置  之能剩下一个 3

输入 25
价格位置只剩下5
会出现这种情况,请问是什么原因,麻烦帮忙改一下,非常感谢。

[此贴子已经被作者于2015/10/13 0:45:07编辑过]

--  作者:逛逛
--  发布时间:2015/9/23 8:54:00
--  

检查你代码中所有定义了  Dim g As Graphics 的地方

是否都配对了g.Dispose()

 

目测有两处没有配对,内存不能及时释放。


--  作者:大红袍
--  发布时间:2015/9/23 9:29:00
--  

类似的这种代码有问题,频繁的增加,不消除就会占用资源。

 

你项目有两处要改。

 

Dim p As WinForm.Painter =e.Form.CreateControl("p", ControlTypeEnum.Painter)
p.Width = zwidth \'原始照片宽动态赋给画板宽
p.Height = zheight \'原始照片高动态赋给画板高
Dim g As Graphics = p.Graphics
g.Clear(Color.White)
g.DrawImage(getImage(route),0,0,zwidth,zheight)
g.DrawImage(bar.GetImage,(zwidth-200),(zheight-680),150,150)
Dim rm As New prt.RenderImage \'定义一个图片对象
rm.Image = GetImage("archives.ico") \'设置图片
rm.Style.ImageAlign.StretchHorz = True \'水平拉伸
g.DrawImage(rm.Image,(zwidth-75),(zheight-85),30,30)
Dim fnt As New Font("黑体",20,FontStyle.Bold) \'黑体,10号,加粗
g.DrawString(fn,fnt,Brushes.Aqua,(zwidth-250),(zheight-35))
p.Repaint()
Dim img As Image = p.Image
p.Save(route2)
img.save(route2)

改成

 

Dim p As WinForm.Painter =e.Form.CreateControl("p", ControlTypeEnum.Painter)
For Each r As DataRow In DataTables("newtrj").Select("id>1")   \'从数据表中提取数据
    bar.Code = r("qrcord")
    Dim fn As String = ""
    fn = r("cn_name")
    If fn <> "" And filesys.FileExists("d:\\as\\" & fn & ".jpg") = True Then
        Dim route As String = "d:\\as\\" & fn & ".jpg" \'原始照片存放路径
        Dim route2 As String ="d:\\qrcord\\" & fn & ".jpg"
        Dim zwidth = getImage(route).width \'原始照片宽
        Dim zheight = getImage(route).height \'原始照片高
       
        p.Width = zwidth \'原始照片宽动态赋给画板宽
        p.Height = zheight \'原始照片高动态赋给画板高
        Dim g As Graphics = p.Graphics
        g.Clear(Color.White)
        g.DrawImage(getImage(route),0,0,zwidth,zheight)
        g.DrawImage(bar.GetImage,(zwidth-200),(zheight-680),150,150)
        Dim rm As New prt.RenderImage \'定义一个图片对象
        rm.Image = GetImage("archives.ico") \'设置图片
        rm.Style.ImageAlign.StretchHorz = True \'水平拉伸
        g.DrawImage(rm.Image,(zwidth-75),(zheight-85),30,30)
        Dim fnt As New Font("黑体",20,FontStyle.Bold) \'黑体,10号,加粗
        g.DrawString(fn,fnt,Brushes.Aqua,(zwidth-250),(zheight-35))
        p.Repaint()
        Dim img As Image = p.Image
        p.Save(route2)
        img.save(route2)
    End If
Next
e.Form.RemoveControl("p")


--  作者:jinzhengbe
--  发布时间:2015/9/24 8:33:00
--  
非常非常感谢 狐表团队一直以来的支持
以后也再接再厉奥!
如果其他平台也能做就更好了
[此贴子已经被作者于2015/9/24 8:33:21编辑过]