怎么终止XMLHTTP正在获取的网页代码的操作
如何终止XMLHTTP正在获取的网页代码的操作?
现在我有一代码,代码如下:
'窗口加入一个textbox,一个commandbutton,名称为默认就行。
Private aa As Boolean
Private Sub Command1_Click()
Dim tKey As String
aa = Not aa
If aa = True Then
tKey = "http://www.21cn.com"
Else
tKey = "http://www.sohu.com"
End If
Debug.Print aa & "//" & tKey
Text1.Text = ""
Text1.Text = getUrlStr(tKey)
End Sub
Public Function getUrlStr(ByVal tUrl As String) As String
Set XmlHttp = CreateObject("Microsoft.XMLHTTP")
XmlHttp.open "get", tUrl, True
XmlHttp.send
While XmlHttp.ReadyState <> 4
DoEvents
Wend
'getUrlStr = XmlHttp.responseText
getUrlStr = StrConv(XmlHttp.ResponseBody, vbUnicode)
Set XmlHttp = Nothing
End Function
因为command1_click是按照用户操作来调用getUrlStr,假设用户调用第一次之后(即aa=true,获取的是21CN的代码,但在没获取完的前提下重新再按一次command1,重新调用一次getUrlStr,那我如何取消第一次的操作,并同时触发第二次操作(获取SOHU的代码)呢?
可能说的不太清晰,希望各位明白,关键意思是调用getUrlStr在未返回之前的网页代码数据时,可以取消!谢谢!
------解决方案--------------------
abort方法。
现在我有一代码,代码如下:
'窗口加入一个textbox,一个commandbutton,名称为默认就行。
Private aa As Boolean
Private Sub Command1_Click()
Dim tKey As String
aa = Not aa
If aa = True Then
tKey = "http://www.21cn.com"
Else
tKey = "http://www.sohu.com"
End If
Debug.Print aa & "//" & tKey
Text1.Text = ""
Text1.Text = getUrlStr(tKey)
End Sub
Public Function getUrlStr(ByVal tUrl As String) As String
Set XmlHttp = CreateObject("Microsoft.XMLHTTP")
XmlHttp.open "get", tUrl, True
XmlHttp.send
While XmlHttp.ReadyState <> 4
DoEvents
Wend
'getUrlStr = XmlHttp.responseText
getUrlStr = StrConv(XmlHttp.ResponseBody, vbUnicode)
Set XmlHttp = Nothing
End Function
因为command1_click是按照用户操作来调用getUrlStr,假设用户调用第一次之后(即aa=true,获取的是21CN的代码,但在没获取完的前提下重新再按一次command1,重新调用一次getUrlStr,那我如何取消第一次的操作,并同时触发第二次操作(获取SOHU的代码)呢?
可能说的不太清晰,希望各位明白,关键意思是调用getUrlStr在未返回之前的网页代码数据时,可以取消!谢谢!
------解决方案--------------------
abort方法。