Foxtable(狐表)用户栏目专家坐堂 → [求助]超出系统资源如何解决(已解决)


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

主题:[求助]超出系统资源如何解决(已解决)

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


加好友 发短信
等级:七尾狐 帖子:1530 积分:10633 威望:0 精华:0 注册:2008/9/24 11:16:00
[求助]超出系统资源如何解决(已解决)  发帖心情 Post By:2021/1/8 17:35:00 [只看该作者]

从网页获取股piao代码的行业和概念数据,读取50行数据以内就出现“超出系统资源”的提示,并退出程序,问题出在哪里,如何解决,请各位老师指教,谢谢!


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



If Forms("窗口1").Opened Then
    Dim dm1 As String
    Dim ms As Integer = Forms("窗口1").Controls("TextBox2").Text '码数
    Dim i As Integer
    For i = 1 To ms
        dm1 = Tables("代码").Current("代码")
        Dim web As New System.Windows.Forms.WebBrowser()
        web.ScriptErrorsSuppressed = True
        Dim dr As DataRow = DataTables("代码").Find("代码 = '" & dm1 & "'")
        If dr IsNot Nothing Then
            If dr.IsNull("代码") = False And dr.IsNull("行业") Then
                web.Navigate("https://vip.stock.finance.sina.com.cn/corp/go.php/vCI_CorpOtherInfo/stockid/" & dr("代码") & "/menu_num/2.phtml") '新浪网
                Do Until web.ReadyState = 4
                    Application.DoEvents
                Loop
                Dim hy As String = ""
                Dim tb1 As object = web.Document.GetElementsByTagName("table")(3)
                Dim trs1 = tb1.GetElementsByTagName("tr")
                Dim tds1 As object = trs1(2).GetElementsByTagName("td")
                hy = tds1(0).innerText
                If hy = "" Then
                    hy = "无"
                End If
                Dim gn As String = ""
                Dim tb2 As object = web.Document.GetElementsByTagName("table")(4)
                Dim trs2 = tb2.GetElementsByTagName("tr")
                For i2 As Integer = 1 To trs2.count-1
                    Dim tds2 As object =  trs2(i2).GetElementsByTagName("td")
                    If tds2.count > 0
                        If gn = "" Then
                            gn = tds2(0).innerText
                        Else
                            gn = gn & "," & tds2(0).innerText
                        End If
                    End If
                Next
                If gn = "对不起,暂时没有相关概念板块信息" Then
                    gn = "无"
                End If
                dr("行业") = hy
                dr("概念") = gn
                GC.Collect()
            End If
        End If
        DataTables("代码").Save()
        Forms("窗口1").Controls("TextBox3").Text = dm1
        With Tables("代码")
            .Position = .Position + 1
        End With
    Next
    Forms("窗口1").Controls("TextBox1").Text = Forms("窗口1").Controls("TextBox3").Text
End If
[此贴子已经被作者于2021/1/10 17:29:03编辑过]

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


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

调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm,看哪一句代码出错。内存占用是多少

新建一个项目单独测试有没有问题?

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


加好友 发短信
等级:七尾狐 帖子:1530 积分:10633 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2021/1/9 10:45:00 [只看该作者]

谢谢有点蓝老师的指教,做了一个案例,请老师帮助看一下,谢谢了!!


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



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


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

请自行调试那一句代码出错,我这里不提供网页抓数据的技术支持

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


加好友 发短信
等级:七尾狐 帖子:1530 积分:10633 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2021/1/10 17:28:00 [只看该作者]


增加一条代码,释放内存,问题解决。谢谢蓝老师!!


                If gn = "对不起,暂时没有相关概念板块信息" Then
                    gn = "无"
                End If
                dr("行业") = hy
                dr("概念") = gn
                web.Dispose()
                GC.Collect()
[此贴子已经被作者于2021/1/10 17:30:21编辑过]

 回到顶部