关于快速使用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书生
科技发烧友

2016-07-08 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26226

向TA提问 私信TA
展开全部
凡是涉及网页操作的都是非常消耗内存的,更何况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
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式