Foxtable(狐表)用户栏目专家坐堂 → 发布后的项目,若网络断开后又重新恢复,出现程序一直无响应,该怎么处理啊?


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

主题:发布后的项目,若网络断开后又重新恢复,出现程序一直无响应,该怎么处理啊?

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
发布后的项目,若网络断开后又重新恢复,出现程序一直无响应,该怎么处理啊?  发帖心情 Post By:2019/8/2 9:23:00 [显示全部帖子]

网络从断开到恢复,该错误提示框也关闭不掉,只能用任务管理器强制关闭狐表项目才行。


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

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2019/8/2 10:26:00 [显示全部帖子]

项目处于未响应状态,窗口错误信息的  详细信息 点击没反应,所以没法显示详细信息了。


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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2019/8/2 10:33:00 [显示全部帖子]

还是没太明白咋处理啊(连接的是云服务器的sqlserver数据库)图片点击可在新窗口打开查看

我是先打开狐表已发布的项目,然后禁用了本地网络,就跳出来那个错误提示了,即使恢复本地网络,狐表项目也一直处于未响应状态了,那个错误提示窗口也关不掉(此时除非用任务管理器强制关闭项目才行)。谢谢

[此贴子已经被作者于2019/8/2 10:34:30编辑过]

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2019/8/2 10:45:00 [显示全部帖子]

我建立了定时计划,有sqlcompute语句

,如何判断网络连接成功 才执行sqlcompute语句啊?

又测试了一下,可能不完全是定期执行sqlcompute的原因(定时计划暂停,也会出现项目因网络中断而无响应啊)导致项目因网络中断了无响应啊。 老师帮看看什么原因可能导致的啊。

[此贴子已经被作者于2019/8/2 11:13:27编辑过]

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2019/8/2 12:22:00 [显示全部帖子]

找到原因了,在窗口的timertick中加入了:

'Dim id As Integer = DataTables("登记表").Compute("Max(_Identify)")
'Dim Filter As String = "[_Identify] > " & id
'DataTables("登记表").AppendLoad(Filter, False)

 

另外,还有一个访问服务器的sqlcompute代码,两者定时访问了服务器。

我在:

NetworkAvailabilityChanged事件中加入:

If e.IsAvailable=True
    If Forms("审核").Opened
        'Forms("审核").TimerEnabled =True
    End If
    MyTimers("计划1").Enabled = True
Else
    If Forms("审核").Opened
        Forms("审核").TimerEnabled =False
    End If
    MyTimers("计划1").Enabled = False
End If

messagebox.show(e.IsAvailable)

 

测试:

我把本地网络关闭后,黄色的代码没有生效,并没有把计划停掉啊。弹窗也没有,怎么回事啊?

 

[此贴子已经被作者于2019/8/2 12:22:36编辑过]

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2019/8/2 14:26:00 [显示全部帖子]

1.建立了一个自动执行的项目计划,每3秒执行一次:messagebox.show(1)

2.NetworkAvailabilityChanged事件:

MyTimers("计划1").Enabled = e.IsAvailable
messagebox.show(e.IsAvailable)

 

3、把本地网络断开后,发现 messagebox.show(1) 依然在执行。

即:并没有因为本地网络断开,而终止了计划1。老师看看咋回事吧

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


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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2019/8/2 17:00:00 [显示全部帖子]

BeforeShowErrorMessage加入以下代码,解决了系统:

If e.Message2.indexof("一般性网络错误") > -1 Or  e.Message2.indexof("SQL Server 不存在或拒绝访问") > -1 Then
    MyTimers("计划1").Enabled = False

    If vars("select") = False   ‘这句干啥呢,有啥用啊
        'vars("select") = True  ‘这一句,注释掉了,否则断网后客户端就死机了
        
        Dim Result As DialogResult
        Result = MessageBox.Show("网络不通,点击是将退出,点击(否)继续等待网络正常后再操作!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
        If Result = DialogResult.Yes Then
            Syscmd.Project.Exit(False)
        Else
            e.Cancel=True
            Return
        End If
       
    End If
   
Else
    MyTimers("计划1").Enabled = True       '这句即使放着好像也没用,只有弹出 不是if 之后的那两种的错误窗口才会执行
   
End If

 

问题是:当断了本地网络后,点击 弹窗的“是” 时,出现弹窗“正在加载数据的过程,不能关闭项目”,怎么没能关闭掉项目啊?

其实我就想   断网的话,让 计划1 停止掉,网络恢复了就 将 计划1 继续执行啊(以上代码可以解决,停掉 计划1,但是不能解决 继续执行计划1)


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

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2019/8/2 17:14:43编辑过]

 回到顶部