以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何异步获取网页代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=183861)

--  作者:lxhmax
--  发布时间:2022/11/16 16:12:00
--  如何异步获取网页代码
下面的内容设置为自定义函数"获取网页数据"
Dim hd As New Hap.HtmlDocument
Dim w As New System.Windows.Forms.WebBrowser
w.ScriptErrorsSuppressed = True  \'禁止js错误提示
w.Navigate("https://www.baidu.com/")
Do Until w.ReadyState = 4
    Application.DoEvents
Loop
Dim wydm As String = w.DocumentText
Output.Show(wydm)

然后用同步函数就没问题,用异步函数就报下面这个错误,请问下老师,如何才能异步获取网页代码?因为同步的耗时太久了,每一个页面要2秒左右,10个页面就要20多秒
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.4.10.8
错误所在事件:自定义函数判断房源状态
详细错误信息:
调用的目标发生了异常。
当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“8856f961-340a-11d0-a96b-00c04fd705a2”。

--  作者:有点蓝
--  发布时间:2022/11/16 16:17:00
--  
无法在异步里使用的。可以考虑到网页加载事件里处理,http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=32808,看里面的全局代码
--  作者:nsdata
--  发布时间:2022/11/17 2:02:00
--  
建议 最好能加强一点 异步处理方法,能让foxtable分开处理数据、UI。。。。像获取WebBrowser内容不进行UI操作的话可以开线程获取 防止卡顿,一般语言都支持