Foxtable(狐表)用户栏目专家坐堂 → 如何关闭一个文件


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

主题:如何关闭一个文件

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


加好友 发短信
等级:一尾狐 帖子:423 积分:3196 威望:0 精华:0 注册:2013/5/10 10:01:00
  发帖心情 Post By:2015/1/14 11:31:00 [显示全部帖子]

如果 在 catch 里面 执行  MessageBox.Show(psNames(i),"提示",MessageBoxButtons.OK),就会弹出以下对话框,显示出错进程的名字,这是对的


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

如果 catch 里面什么也不执行,或者仅仅执行类似下面的语句

 Dim ss As Integer =1
                ss=2

则会在稍后执行删除文件的语句时,弹出以下对话框,说明之前的进程没有kill掉,还在,事实上从文件中发现,这些文件的确还在,但是 在上面的情况中被删除了,就是说 执行MessageBox.Show(psNames(i)),就能保证把能删除的进程都删除掉,之后的删除文件也能删除掉


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


请问这个 catch里面需要执行什么样的特殊语句才能保证exception被抓住并解决呢?

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


加好友 发短信
等级:一尾狐 帖子:423 积分:3196 威望:0 精华:0 注册:2013/5/10 10:01:00
  发帖心情 Post By:2015/1/14 11:39:00 [显示全部帖子]

仅此而已


图片点击可在新窗口打开查看此主题相关图片如下:789.png
图片点击可在新窗口打开查看

还需要别的信息吗?

[此贴子已经被作者于2015-1-14 11:40:57编辑过]

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


加好友 发短信
等级:一尾狐 帖子:423 积分:3196 威望:0 精华:0 注册:2013/5/10 10:01:00
  发帖心情 Post By:2015/1/14 11:45:00 [显示全部帖子]

如果是需要时间,foxtable应该怎样延时呢?

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


加好友 发短信
等级:一尾狐 帖子:423 积分:3196 威望:0 精华:0 注册:2013/5/10 10:01:00
  发帖心情 Post By:2015/1/14 12:13:00 [显示全部帖子]

不是的,出现拒绝访问这个提示,是因为 系统想kill正在webbrowser正在显示的文件,当然kill不掉了,比较奇怪的是 在 catch中执行MessageBox.Show(psNames(i),"提示",MessageBoxButtons.OK), 就能正常处理异常,并kill别的进程, 不执行这个,就不能处理异常,难道真的是因为时间的原因,如果是,应该怎样写 一个延时语句呢,

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


加好友 发短信
等级:一尾狐 帖子:423 积分:3196 威望:0 精华:0 注册:2013/5/10 10:01:00
  发帖心情 Post By:2015/1/14 12:26:00 [显示全部帖子]

到底有没有办法解决呢?

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


加好友 发短信
等级:一尾狐 帖子:423 积分:3196 威望:0 精华:0 注册:2013/5/10 10:01:00
  发帖心情 Post By:2015/1/14 13:26:00 [显示全部帖子]

如果是需要时间,foxtable应该怎样延时呢?

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


加好友 发短信
等级:一尾狐 帖子:423 积分:3196 威望:0 精华:0 注册:2013/5/10 10:01:00
  发帖心情 Post By:2015/1/14 14:10:00 [显示全部帖子]

还要什么例子呀,代码已经给你们了,后来的只是一点小改动

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


加好友 发短信
等级:一尾狐 帖子:423 积分:3196 威望:0 精华:0 注册:2013/5/10 10:01:00
  发帖心情 Post By:2015/1/14 14:12:00 [显示全部帖子]

你看看第14楼,你给的解决方案,就是用你的方案,后来又出现了一点小问题,现在是在解决那个小问题

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


加好友 发短信
等级:一尾狐 帖子:423 积分:3196 威望:0 精华:0 注册:2013/5/10 10:01:00
  发帖心情 Post By:2015/1/14 14:30:00 [显示全部帖子]

以下是代码
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:项目文档-加密.foxdb


问题在 内部函数 killExcelAndWord 上,执行它时,下面的代码, 就是 p.kill 时报错,用try catch抓住它,如果用messagebox显示出来,就能正确的把后面要删除的文件删除掉,如果不显示出来,则不能删除,报错

Try
                'p.close
                p.kill
            Catch ex As Exception
                'Output.Show(ex.Message)
                'Dim Sum As Integer
                'Dim t As Integer
                'For t = 1 To 50000 Step 1
                'Sum = Sum + t
                'Next
                'Output.Show(Sum)
                'msgbox(ex.Message)
                'p.close
                'p.kill
                MessageBox.Show(psNames(i) & "                " & ex.Message ,"提示",MessageBoxButtons.OK)
                'Dim ss As Integer =1
                'ss=2
            End Try


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


加好友 发短信
等级:一尾狐 帖子:423 积分:3196 威望:0 精华:0 注册:2013/5/10 10:01:00
  发帖心情 Post By:2015/1/14 15:46:00 [显示全部帖子]

多谢,请问你只修改了以下代码吗?还是说在别的地方也做了修改?


Dim flag As Boolean = True
            Do While flag
                try
                    FileSys.DeleteFile(lastWebBrowserAddress)
                    flag = False
                catch ex As exception
                    
                End try
            Loop


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