Foxtable(狐表)用户栏目专家坐堂 → 网络中断提示框为什么一直弹出?


  共有2375人关注过本帖树形打印复制链接

主题:网络中断提示框为什么一直弹出?

帅哥哟,离线,有人找我吗?
happyft
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1930 积分:17576 威望:0 精华:0 注册:2014/7/29 19:09:00
网络中断提示框为什么一直弹出?  发帖心情 Post By:2018/12/7 9:06:00 [显示全部帖子]

电脑休眠或者网络断开时运行程序会出错,所以就在BeforeShowErrorMessage用了下面的代码
If e.Message2.indexof("一般性网络错误") > -1 Or e.Message2.indexof("SQL Server 不存在") > -1 Then
    e.Cancel = True
    If Forms("网络提示").Opened = False Then
        Forms("网络提示").Open
    End If
ElseIf e.Message2.indexof("查询超时已过期") > -1
    e.Cancel = True
    msgbox("查询超时,请检查网络!")
end if
但是网络断开时会一直出现提示,

图片点击可在新窗口打开查看此主题相关图片如下:网络问题.jpg
图片点击可在新窗口打开查看

有什么办法避免不要一直弹出提示框,只要弹出一个就行,昨天的帖子看不见了

谢谢!


 回到顶部
帅哥哟,离线,有人找我吗?
HappyFt
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1930 积分:17576 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2018/12/7 9:50:00 [显示全部帖子]

昨天那段代码还没有加入到全局事件中,今天帖子已经没有了,能否再发一下,谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
HappyFt
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1930 积分:17576 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2018/12/7 9:57:00 [显示全部帖子]

这个提示窗口是用在一个计划中的,如果网络不通时执行就会出错,所以增加了判断

try  '避免电脑休眠时执行本计划导致错误

....

catch ex As Exception

    MessageBox.Show("网络原因或者电脑休眠导致与服务器的连接中断!","提示",MessageBoxButtons.OK)

End try


同上一楼同问,这种弹出的窗口如何判断这种窗口已经弹出就不再弹出?


 回到顶部
帅哥哟,离线,有人找我吗?
HappyFt
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1930 积分:17576 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2018/12/7 11:56:00 [显示全部帖子]

想请教下电脑休眠服务器会断开这种情况应该如何避免,也就是电脑休眠时如果项目是打开的如何让所有代码都不执行(像计划这些是自动执行的,就会出错)

 回到顶部
帅哥哟,离线,有人找我吗?
HappyFt
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1930 积分:17576 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2018/12/7 18:14:00 [显示全部帖子]

还有个问题,当远程服务器断开导致弹出这个网络提示窗口后,此时直接关闭窗口也会出错,
现在只好在关闭这个窗口前写代码连接远程服务器,如果连接不上就禁止关闭,用户只能选择直接退出.
'---与远程服务器连接.
If TryConnectHost(db_IP) Then
    Dim myConnTest As New ConnTest.ConnNetTest
    Vars("网络状态") = myConnTest.ConnNetTestByConnStr(Connections(Mydata).ConnectionString,2000)  '2秒内判断网络
    If Vars("网络状态") = False Then
        MessageBox.Show("网络不通,只能退出或等网络恢复后自动关闭本提示框再操作!","提示", MessageBoxButtons.OK ,MessageBoxIcon.Information)
        e.Cancel = True
    End If
End If

然后又增加了一个计划,每2分钟检测一次网络,如果通了,就自动关闭掉这个弹出框.
If Forms("网络提示").Opened Then  '关闭网络断开时弹出的提示框
    '---与远程服务器连接.
    If TryConnectHost(db_IP) Then
        Dim myConnTest As New ConnTest.ConnNetTest
        Vars("网络状态") = myConnTest.ConnNetTestByConnStr(Connections(Mydata).ConnectionString,2000)  '2秒内判断网络
        If Vars("网络状态") = True Then
            Forms("网络提示").Close
        End If
    End If
End If

这样服务器频繁连接会有问题吗?还有没有其他更好的办法?

 回到顶部