以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]无规律报错,有时候报错有时候不报错。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=159224)

--  作者:54292550
--  发布时间:2020/12/17 18:05:00
--  [求助]无规律报错,有时候报错有时候不报错。
 这个窗口的TimerTick全部代码也就下面几行。。。。。

   e.Form.Controls("Label55").text = User.Group & "-" & user.Name    
    If  Vars("D5") <> 1  Then
        e.Form.Controls("ColorLabel1").BackColor = Color.Green
    End If   
    If Vars("D5") = 1 Then
      e.Form.Controls("ColorLabel1").BackColor = Color.red
    End If


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

类似这样的报错在好多个事件里面都会发生,没有规律,有时候运行一天没有问题,有时候一会儿一报。
感觉和代码没关系,就像我现在这个事件代码,看不出来跟数组能扯上什么关系呢。。。

--  作者:有点蓝
--  发布时间:2020/12/17 20:13:00
--  
1、删除项目里的bin目录,重启项目试试
2、更新到最新版foxtable

--  作者:54292550
--  发布时间:2020/12/17 20:22:00
--  
这个项目是去年做的,软件更新了好几版了。都试过,不知道什么问题。我怀疑是VAR变量的问题,但是有的事件里面也没有用全局变量。

我这个项目里面用了论坛里之前的一个FoxtableSocketTest.dll,做了一些socket通讯,不过报错的代码有些跟socket通讯没关系。用的也有串口通讯,有些时候还在串口监视器里面报。
[此贴子已经被作者于2020/12/17 20:25:26编辑过]

--  作者:有点蓝
--  发布时间:2020/12/17 20:29:00
--  
是不是有异步函数用到这个全局变量?
--  作者:54292550
--  发布时间:2020/12/17 20:32:00
--  
我之前也有过这方面的怀疑,我用了大部分VAR变量,很多地方都会给VAR变量赋值,怀疑是同时赋值出现冲突导致的,后来也把有些变量写在全局里面,但有的事件里的代码都没有用到这些变量,也会发生这样的错误。。。整蒙了好长时间了。。。图片点击可在新窗口打开查看
--  作者:有点蓝
--  发布时间:2020/12/17 20:49:00
--  
异步函数肯定是不能使用VAR变量的。如果很多地方都用到,建议改为public变量