VB6.0: MSXML6.0中的xmlhttp,获取网页代码时,整个系统都会卡,如何解决?
DimhAsObjectSeth=NewXMLHTTPCallh.open("GET",url,False)Callh.send运行到h.send这句时,系统卡起。只有等...
Dim h As Object
Set h = New XMLHTTP
Call h.open("GET", url, False)
Call h.send
运行到h.send这句时,系统卡起。只有等获取完代码,或者发生错误,才会停止。
这个如何解决? 展开
Set h = New XMLHTTP
Call h.open("GET", url, False)
Call h.send
运行到h.send这句时,系统卡起。只有等获取完代码,或者发生错误,才会停止。
这个如何解决? 展开
展开全部
可以改用异步调用方式(就是把那个False改为True即可),这样执行到h.send时VB会不等其运行完毕就继续执行后面的其他语句,这样就不会卡了。
但是,如果是这样,那么你直接去读取xmlhttp的返回数据是空白的,因为这个时候send还在执行中呢,网页代码尚未传送到你的电脑中,你要用个循环或Timer控件(建议用后者)不断检测xmlhttp的状态(readyState为4表示已获得数据)。如果用循环,那么循环体中务必加DoEvents,否则你的系统仍然会卡的。
但是,如果是这样,那么你直接去读取xmlhttp的返回数据是空白的,因为这个时候send还在执行中呢,网页代码尚未传送到你的电脑中,你要用个循环或Timer控件(建议用后者)不断检测xmlhttp的状态(readyState为4表示已获得数据)。如果用循环,那么循环体中务必加DoEvents,否则你的系统仍然会卡的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询