以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何避免升级时出现错误界面  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=71143)

--  作者:乡里出城
--  发布时间:2015/7/6 10:52:00
--  如何避免升级时出现错误界面
请教各位高手,用IF应该怎么表达,才能当第一段代码出错误时,就不再执行第二段代码,如果第一段的url正常,就正常执行第二段代码

第一段:
Dim url As String = "http://www.baidu.com/data/update.txt"  \'请按实际升级的路径填写
try
    Dim rqst As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create(url)
    Dim rsps As System.Net.HttpWebResponse = rqst.GetResponse
catch ex As Exception
    msgbox(ex.message)
End try


第二段:
 If Syscmd.Project.Update(False,False) = False Then \'如果没有升级
     Forms("远程升级").open()
 End If
[此贴子已经被作者于2015/7/6 10:52:58编辑过]

--  作者:大红袍
--  发布时间:2015/7/6 11:03:00
--  
Dim url As String = "http://www.baidu.com/data/update.txt"  \'请按实际升级的路径填写
Dim Flag As Boolean = True
try
    Dim rqst As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create(url)
    Dim rsps As System.Net.HttpWebResponse = rqst.GetResponse
catch ex As Exception
    msgbox(ex.message)
    Flag = False
End try
 
If Flag Then
    If Syscmd.Project.Update(False,False) = False Then \'如果没有升级
         Forms("远程升级").open()
    End If
End If

--  作者:乡里出城
--  发布时间:2015/7/6 11:30:00
--  [求助]
大红袍,问题是解决了,但又出现新的问题,执行第一次正常,如果再执行第二次就出现崩溃的状况,关不了,动不了,要等一会儿才出现下面的情况,之后才正常使用,这种情况循环重复,执行第一次正常,如果再执行第二次就出现崩溃,等一会儿正常后,第三次正常,第四次又出现崩溃,等一会儿正常后,第五次正常-------
就像如图:

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20150706112557.png
图片点击可在新窗口打开查看



[此贴子已经被作者于2015/7/6 11:32:07编辑过]

--  作者:大红袍
--  发布时间:2015/7/6 11:35:00
--  

 设置超时时间

 

Dim url As String = "http://www.foxtable.com/data/update.txt"  \'请按实际升级的路径填写
Dim Flag As Boolean = True
try
    Dim rqst As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create(url)
    rqst.TimeOut = 1000 \'一秒
    Dim rsps As System.Net.HttpWebResponse = rqst.GetResponse
catch ex As Exception
    msgbox(ex.message)
    Flag = False
End try

If Flag Then
    If Syscmd.Project.Update(False,False) = False Then \'如果没有升级
        Forms("远程升级").open()
    End If
End If


--  作者:乡里出城
--  发布时间:2015/7/6 11:55:00
--  
结果变成,执行第一次和第二次是正常,执行第三次就出现崩溃,要等一下才会正常,这个步聚重复是这样,执行第四次和第五次是正常,执行第六次就出现崩溃,要等一下才会正常,
--  作者:大红袍
--  发布时间:2015/7/6 11:57:00
--  

 

[此贴子已经被作者于2015/7/6 11:57:33编辑过]

--  作者:大红袍
--  发布时间:2015/7/6 11:59:00
--  

 呃,不可能,要不你就这样试试。

 

Dim url As String = "http://www.foxtable.com/data/update.txt"  \'请按实际升级的路径填写
Dim Flag As Boolean = True
try
    Dim rqst As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create(url)
    rqst.TimeOut = 1000 \'一秒
    Dim rsps As System.Net.HttpWebResponse = rqst.GetResponse
    rsps.Close
catch ex As Exception
    msgbox(ex.message)
    Flag = False
End try

 


--  作者:乡里出城
--  发布时间:2015/7/6 14:10:00
--  
真的,如果是错误的话,下面的代码是第二、第三次也不会出现崩溃,我是指只有在正常执行(不存在msgbox(ex.message)),才会出现我所说的连接执行到第三次,才会出现崩溃,要等一下才能正常

Dim url As String = "http://www.foxtable.com/data/update.txt"  \'请按实际升级的路径填写
Dim Flag As Boolean = True
try
    Dim rqst As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create(url)
    rqst.TimeOut = 1000 \'一秒
    Dim rsps As System.Net.HttpWebResponse = rqst.GetResponse
catch ex As Exception
    msgbox(ex.message)
    Flag = False
End try

If Flag Then
    If Syscmd.Project.Update(False,False) = False Then \'如果没有升级
        Forms("远程升级").open()
    End If
End If


是正常能执行的情况下,如果第一段代码连接不对有错误,执行多少次都不会崩溃,如果连接正常,只要执行到第三次就会崩溃,而且还出现下图:



图片点击可在新窗口打开查看此主题相关图片如下:qq图片20150706112557.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2015/7/6 14:28:12编辑过]

--  作者:大红袍
--  发布时间:2015/7/6 14:51:00
--  

 那就是 If Syscmd.Project.Update(False,False) = False Then 这句代码有问题

 

 做一个可以测试的例子发上来。


--  作者:乡里出城
--  发布时间:2015/7/6 15:51:00
--  [求助]上例子
现在上个可测试的例子,你可以测试一下

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试升级.zip