Foxtable(狐表)用户栏目专家坐堂 → 连续获取网页代码后狐表程序闪退


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

主题:连续获取网页代码后狐表程序闪退

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


加好友 发短信
等级:三尾狐 帖子:619 积分:5539 威望:0 精华:0 注册:2012/8/2 19:04:00
连续获取网页代码后狐表程序闪退  发帖心情 Post By:2022/11/24 16:00:00 [只看该作者]

老师,下面这段代码运行几次之后,狐表的内存就越来越高,连续执行10次左右的时候程序就会闪退,有没办法每执行一次就清理一下内存?

Dim w As New System.Windows.Forms.WebBrowser
w.ScriptErrorsSuppressed = True
w.Navigate("https://bj.ke.com/ershoufang/101116442271.html")
Do Until w.ReadyState = 4
    Application.DoEvents
Loop
Output.Show(w.DocumentText)

图片点击可在新窗口打开查看

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


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

最后加上下面代码试试

GC.Collect()

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


加好友 发短信
等级:三尾狐 帖子:619 积分:5539 威望:0 精华:0 注册:2012/8/2 19:04:00
  发帖心情 Post By:2022/11/24 16:26:00 [只看该作者]

老师,这句代码是什么意思?似乎有一点点效果,不过内存还是一样一直在增加,还有其他办法处理吗?

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


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

这句代码用来回收垃圾。估计您不止是这句代码的问题,比如获取数据后填充到表格里,表格数据也会占用很多内存的。

不要使用内部表填充数据,然后可以先把上一次填充的数据清空,再填充下一次的数据,比如
DataTables("订单").LoadFilter = "[_identify] is null"
DataTables(
"订单").Load

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


加好友 发短信
等级:三尾狐 帖子:619 积分:5539 威望:0 精华:0 注册:2012/8/2 19:04:00
  发帖心情 Post By:2022/11/24 16:36:00 [只看该作者]

没有执行其他的代码的,就是在命令窗口直接执行上面的那段代码

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


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

考虑把w.DocumentText保存到文件文件里,不要显示在命令窗口

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


加好友 发短信
等级:三尾狐 帖子:619 积分:5539 威望:0 精华:0 注册:2012/8/2 19:04:00
  发帖心情 Post By:2022/11/24 16:43:00 [只看该作者]

这句话我注释掉了,没有在命令窗口输出任何内容

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


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

试试,不行就没有办法了

Dim w As New System.Windows.Forms.WebBrowser
w.ScriptErrorsSuppressed = True
w.Navigate("https://bj.ke.com/ershoufang/101116442271.html")
Do Until w.ReadyState = 4
    Application.DoEvents
Loop
w.Dispose(true)
GC.Collect()

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


加好友 发短信
等级:三尾狐 帖子:619 积分:5539 威望:0 精华:0 注册:2012/8/2 19:04:00
  发帖心情 Post By:2022/11/24 17:03:00 [只看该作者]

老师,弹出这个提示怎么处理?
图片点击可在新窗口打开查看

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


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

w.Dispose()

 回到顶部
总数 13 1 2 下一页