Foxtable(狐表)用户栏目专家坐堂 → 执行在线升级时,显示图片文件正在使用


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

主题:执行在线升级时,显示图片文件正在使用

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


加好友 发短信
等级:六尾狐 帖子:1438 积分:10617 威望:0 精华:0 注册:2014/8/13 16:19:00
  发帖心情 Post By:2021/6/16 15:57:00 [只看该作者]

现在调用改成了。
Dim waitingBox As New FrmWaitingBox(Sub(obj, args)
    '耗时操作开始
    For i As Integer = 0 To 5
        System.Threading.Thread.Sleep(1000)
        Output.Show(i)
    Next
    '耗时操作结束     就是我的代码要放在这里执行,中间弹出MSGBOX,咋处理,最后还有一个返回值也不好处理。
    End Sub,"正在处理数据,请等待...")
waitingBox.ShowDialog()

 回到顶部
帅哥,在线噢!
有点蓝
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107031 积分:544386 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/16 16:11:00 [只看该作者]

把自己的代码放到一个函数里

Dim waitingBox As New FrmWaitingBox(Sub(obj, args)
    '耗时操作开始
    Functions.Execute("xx函数")
    End Sub,"正在处理数据,请等待...")
waitingBox.ShowDialog()

这种异步线程的用法无法获取返回值,也不能弹出MSGBOX图示窗口

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


加好友 发短信
等级:六尾狐 帖子:1438 积分:10617 威望:0 精华:0 注册:2014/8/13 16:19:00
  发帖心情 Post By:2021/6/16 16:13:00 [只看该作者]

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

图片

图片点击可在新窗口打开查看此主题相关图片如下:loading.gif
图片点击可在新窗口打开查看
改了一下,不是很明白,也没实现。

 回到顶部
帅哥,在线噢!
有点蓝
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107031 积分:544386 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/16 16:20:00 [只看该作者]

把人家关键代码都给注释掉了,还有啥搞头

 回到顶部
帅哥,在线噢!
有点蓝
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107031 积分:544386 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/16 16:21:00 [只看该作者]

如果看不懂,就老老实实使用foxtable的计划管理。

或者开发个服务端项目放到服务器里,自己定时处理一下费时的功能

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


加好友 发短信
等级:六尾狐 帖子:1438 积分:10617 威望:0 精华:0 注册:2014/8/13 16:19:00
  发帖心情 Post By:2021/6/16 16:47:00 [只看该作者]

Private Sub DoCloseJob()
Try
    If Not processForm.IsDisposed Then
'processForm.Controls("PicBox1").image = nothing     '执行不了,没有image
        processForm.Controls("PicBox1").Dispose   
    End If
Catch Err As Exception
    msgbox(Err.message)
End Try
processForm.Close()
processForm.Dispose()
Basemainform.Activate()
End Sub

上面这个代码已经修改成这样,结果还是不行,报下面的错误。
The process cannot access the file 'D:\program files\Publish\project\Images\saving.gif' because it is being used by another process.



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


加好友 发短信
等级:六尾狐 帖子:1438 积分:10617 威望:0 精华:0 注册:2014/8/13 16:19:00
  发帖心情 Post By:2021/6/16 16:49:00 [只看该作者]

真头疼,之前没有这个问题,不知道怎么操作一下就出来这个问题了。
总归得想办法解决啊。不然用户体验太差了。

 回到顶部
帅哥,在线噢!
有点蓝
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107031 积分:544386 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/16 16:54:00 [只看该作者]

人家5楼原来的项目的用法,全局代码不要做任何改动。按钮改为12楼的用法即可

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


加好友 发短信
等级:六尾狐 帖子:1438 积分:10617 威望:0 精华:0 注册:2014/8/13 16:19:00
  发帖心情 Post By:2021/6/16 16:59:00 [只看该作者]

现在的问题改成这样了。
这样动态加了一个PICTUREBOX。
我希望在窗口关闭的时候,把其中的图片设置为空。能实现不???


    processForm = New System.Windows.Forms.Form
    Dim wfpic As New System.Windows.Forms.PictureBox()
    wfpic.Image = System.Drawing.Image.FromFile(ProjectPath & "Images\saving.gif")
    wfpic.Dock = System.Windows.Forms.DockStyle.Fill
    wfpic.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom
    wfpic.name = "PicBox1"
    processForm.Controls.Add(wfpic)

关闭的代码:
processForm.Controls("PicBox1").image = Nothing   执行不了
    processForm.Controls("PicBox1").Dispose      
    processForm.Controls("PicBox1") = Nothing   执行不了

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


加好友 发短信
等级:六尾狐 帖子:1438 积分:10617 威望:0 精华:0 注册:2014/8/13 16:19:00
  发帖心情 Post By:2021/6/16 17:00:00 [只看该作者]

帮帮忙,用12楼的方法改动太多,而且是在保存数据的时候使用,总归会有一些错误提示。不好解决啊。

 回到顶部
总数 24 上一页 1 2 3 下一页