Foxtable(狐表)用户栏目专家坐堂 → 程序每隔一段时间自动假死


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

主题:程序每隔一段时间自动假死

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7253 积分:40736 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/10/18 20:31:00 [显示全部帖子]

我的做法:增加一个全局变量,比如叫做:网络状态

 

NetworkAddressChanged事件代码:

 

Vars("网络状态") = TryConnectHost(www.jinyt.com)

 

BeforeLoadOuterTable事件代码:

 

If TryConnectHost("www.jinyt.com") = False Then
    e.Cancel = True
    MessageBox.show("对不起,当前网络或服务器不可用,请稍后再加载数据!")
End If

 

本事件代码,确保了在连接外部数据表的时候,如果网络不通,则暂时不连接,项目启动后,可以通过进入模块的代码再重新动态加载外部数据表,当服务器不可用时,继续忽略动作,不会链接。


【注】:本事件不能用全局变量,系统启动时全局变量还没有生成,会导致系统错误打不开。

 

BeforeSaveProject事件代码:

If Vars("网络状态") = False
    e.Cancel = True
    MessageBox.show("对不起,当前网络或服务器不可用,请稍后再保存数据!")
End If

 

这个事件的代码,保证了在保存项目之前,如果网络不通,将自动禁止不保存,也就不会报错了。

 

 

采用这种方法的优点:全局变量的值就是您想要知道的网络是否可用,您没有必要不断地采用定时器去检查服务器是否可用,因为那样做,是需要占用时间的,计划或窗口定时器过于繁重的代码或检测远程服务器是否可用,是会导致系统出现卡顿现象的!


 回到顶部