关于快速使用VB,inet出错问题 10
用VB设计一个软件登陆网站,在循环内用Inet1.ExecuteUrl,"POST",MData,MHreat的方法,运行10次左右,程序就没反应了,也关闭不了VB6的编...
用VB设计一个软件登陆网站,在循环内用Inet1.Execute Url, "POST", MData, MHreat 的方法,运行10次左右,程序就没反应了,也关闭不了VB6的编程软件,大概过个1分钟左右,会提示VB6.EXE应用程序错误,然后就会退出VB6编程软件,求高手解答。
展开
1个回答
展开全部
凡是涉及网页操作的都是非常消耗内存的,更何况VB6是上古时代的软件,它诞生的时候网络还不发达,所以有关网络的操作肯定是VB6的弱项。你在短时间内发送10多个网络连结,很容易就造成程序阻塞短路的。最好的解决办法是采用事件驱动的方式,就是发出一个网络链接后,要通过Inet控件的事件,在网站返回200状态码后再发送下一个(或者说下一次)链接,也就是一个个按顺序来,而不是同时发出多个链接。具体做法可以自己百度。
追问
百度了半天也找不到,VB如何获取网站返回的状态码为200,求指点,谢谢。
追答
Inet控件不是有 StateChanged 事件吗,利用它就可以获得Inet控件的运行状态了,比如:
Private Sub Command1_Click()
Inet1.Execute "第一个网址"
End Sub
Private Sub Inet1_StateChanged(ByVal State As Integer)
If State = icResponseCompleted Then '或者 If State = 12 Then
Inet1.Execute "下一个网址"
'至于下一个网址怎么来的就自己的程序去搞定了
'此外你还要自己设定退出的条件,否则会一直循环下去
ElseIf State = icError Then '或者 ElseIf State = 11 Then
'连接时发生错误(比如网络不通)就会执行这里的代码
End If
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询