标题:这段程序运行中经常造成系统无响应,大侠们看看,问题出在哪里啊
只看楼主
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
IF MINUTE(当前时间)=0 AND sec(当前时间)=0 &&
IF HOUR(当前时间)=23&& AND MINUTE(当前时间)=59 AND SEC(当前时间)=59
在timer用相等比对有可能会“错失时机”而达不到要求,如:
sec(当前时间)=0
SEC(当前时间)=59
2022-06-13 11:58
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:0 
肯定是会错过,所以不能用 =

2022-06-13 12:38
my2318
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:12
帖 子:233
专家分:577
注 册:2014-3-18
得分:0 
以下是引用Pgwyg在2022-6-13 09:39:44的发言:

谢谢您,我需要整点保存数据,而且要有时间显示,原来使用一个timer实现时间同步显示、实时数据采集、和数据保存,出现问题后又添加了一个专门负责数据采集,还是出现程序无响应的问题,即使停止数据采集工作,也是这样,现在又加了一个计时器,专门负责时间显示,看看能否成功。百思不得其解的是有时工作几天没问题,一旦出现问题,就是停在19:59:59和23:59:59,如果随机还好理解。TYR也未能捕捉到错误。
TRY
DO FORM YCCB2
READ EVENTS        
CATCH TO ex
        ex_info= "错误编号: "+ALLTRIM(STR(ex.ErrorNo))+CHR(10)+CHR(13)+;
        "    错误行号: "+ALLTRIM(STR(ex.LineNo))+CHR(10)+CHR(13)+;
        "    错误信息: "+ALLTRIM(ex.Message)+CHR(10)+CHR(13)+;
        "    错误函数: "+ALLTRIM(ex.Procedure)+CHR(10)+CHR(13)+;
        "    错误细节: "+ALLTRIM(ex.Details)+CHR(10)+CHR(13)+;
        "调用堆栈级别: "+ALLTRIM(STR(ex.StackLevel))+CHR(10)+CHR(13)+;
        "  代码行内容: "+ALLTRIM(ex.LineContents)
        StrToFile(ex_info, "d:\error_info.txt")
ENDTRY

整点是一个时刻,而程序处理所有数据需要一段时间吧,是一个时间段,只保存整点数据,这是一个逻辑悖论。应该像几位版主说的,整点附近的时间段数据可以看做整点时的数据,这样处理起来就简单方便了。如果是我做,就在整点开始保存所有数据。这点可以参考月底手机流量的记录方法,当然我说的是三大公司,不是个体手机。
2022-06-13 13:55
Pgwyg
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2022-6-10
得分:0 
按照7楼的思路创建了一个日志,只保留日志功能,删除TIMER事件中的其他过程
程序如下:
*Timer1控件interval=500
*Timer1控件Timer事件
*
当前时间=DATETIME()
*显示时间
this.Enabled=.f.
IF thisform.timexs.Caption!=TTOC(当前时间)
    更新时间显示
    thisform.timexs.Caption=TTOC(当前时间)
ENDIF
*整点(每60分钟)保存一次数据
IF MINUTE(当前时间)=0 AND sec(当前时间)=0
    INSERT INTO DATA\TEST_DATA (TIME_T) VALUES (当前时间)
    thisform.label1.CAPTION=TTOC(当前时间)+" 的数据已经保存! "   
ENDIF
this.Enabled=.t.
运行结果
第一天早上9点开始运行,每小时保存一次数据,日志上显示最后一条数据是19:00:00,但是thisform.label1.CAPTION显示20点、21点、22点、23点的数据已经保存,实际上数据并没有保存!
thisform.timexs.Caption控件最后显示为23:59:59,程序无响应,使用任务管理器强制退出。
问题出在那里?


[此贴子已经被作者于2022-6-14 09:05编辑过]

2022-06-14 09:02
sostemp
Rank: 4
等 级:业余侠客
威 望:8
帖 子:162
专家分:221
注 册:2009-6-2
得分:0 
上传示例来测试吧
2022-06-14 09:38
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:54
帖 子:802
专家分:1914
注 册:2015-12-30
得分:0 
这台机器除了这个任务,还执行其他什么任务吗?
2022-06-14 11:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-509305-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.168657 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved