怪怪怪怪!

cclxj 2001-10-07 09:20:55
各位朋友快帮帮我呀。我遇到了一个特怪的问题。我用VB+ACCESS97写了一个小程序。该程序运行时用到了多个TIMER控件。在TIMER事件中写了一些代码。例如其中的一个TIMER每隔1秒钟运行一次。事件中的代码是:使用该表单中的LABEL1的CAPTION为当前时间。别的TIMER事件也是类似的代码。为什么我的程序运行一天后。在过了12:00:00之后。系统时间就会慢15分钟左右。硬件故障已排除。更加令人奇怪的是:当前系统时间显示慢15分钟。当重新启动计算机后。系统时间就会自动设为正常的时间。
哇,真是太奇怪了。一开始我也不相信。可这就是实事呀。
大家快帮我想想。这到底是为什么呢?
...全文
312 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
老熊宝宝 2001-10-16
  • 打赏
  • 举报
回复
也不知我上面说的对不对,不过,出现问题首先应该检查自己,如果VB真的有让系统时间变慢
的大BUG,至少应该有人广而告之了。不过VB有很多地方不尽人意肯定是有的,所以我总是用自己
的Timer函数,并用QueryPerformanceFrequency和QueryPerformanceCounter来计算时间,我
们不会关心这个时间是不是从午夜开始(VB的帮助里说的)或从起动开始,我们只需要精确的时间间隔。有很多的东西不能指望VB的帮助,需要自己。
还有用softice或trw2000这样的东东来调试程序时的确会让时间变慢,它可以让Windows中断
当然会让windows的时间变慢,呵呵,那是别外一个问题。
zymfy 2001-10-16
  • 打赏
  • 举报
回复
不好意思 我(zymfy(梦小凡)) 与 : cclxj(lxj) 是同事。
cclxj(lxj) 不在。让我帮他看看。并不是我审请了两个帐号。
zymfy 2001-10-16
  • 打赏
  • 举报
回复
我所指的慢并不是caption上的时间慢。而是系统时间慢了。caption上的时间跟系统时间一样.
也许你会说这是硬件的原因。但我做过试验了。用一台时间很准的机子。来装上我的程序,结果运行一天后,时间照样慢了。5分钟。
看楼兄是位高手。帮忙给具体看一下。这到底是什么原因?
因为我的是考勤,要求时间必须非常准确。
老熊宝宝 2001-10-16
  • 打赏
  • 举报
回复
我又想了一下,cclxj的问题,为什么慢15分钟,你是用什么基准来比较才说慢了的呢?
如果你Caption上的时间是在Timer事件中累计的,那么肯定有误差,因为它的精度只有55ms,
VB的帮助里就警告我们不要用Timer来累计时间,也就是说,在一秒钟的最后一个55ms,也就是下
一个timer事件到来之前,你的应该让timer控件enalbe=false,然后用别的方法来循环检查系统时间,以保证在下一个Timer事件到来前的确已经过了一秒,然后再让timer控件enalbe=true,
否则你Caption上的时间肯定比真正的系统时间快,累计起来让人觉得系统时间慢了15分钟也没
什么奇怪,因为实际上是你快了,而不是系统慢了。
cclxj 2001-10-15
  • 打赏
  • 举报
回复
to yangzhaoyu(老妖):
那你是怎么解决的呢?
yangzhaoyu 2001-10-15
  • 打赏
  • 举报
回复
应该是WINDOWS的问题,类似的问题我也经常遇到,系统时间无缘故的慢下来.特别是运行的如件太多的时候.
xfflean 2001-10-15
  • 打赏
  • 举报
回复
为什么一定要用timer?用CreateWaitableTimer 自己create个计时器咯
cclxj 2001-10-15
  • 打赏
  • 举报
回复
难道WINDOWS在一开机时取到CMOSE的时钟后。就自己计算时钟,也就是说它所显示的时钟并不是CMOSE的时钟,而是自己计算的时钟吗?
当我运行程序时,由于事件处理比较复杂,所以它就影响到了WINDOWS时钟,所以系统时间就不准了。当我重新启到计算机时。它又取到CMOSE的时钟,所以就又正常了。大家说,我说的有道理吗?
老熊宝宝 2001-10-15
  • 打赏
  • 举报
回复
我好象回答过这个问题,见前面。
某鸟 2001-10-15
  • 打赏
  • 举报
回复
如果我说的是对的,那么就可能会出现你说的,
慢的时间不一样。

“当我运行程序时,由于事件处理比较复杂,所以它就影响到了WINDOWS时钟,所以系统时间就不准了。当我重新启到计算机时。它又取到CMOSE的时钟,所以就又正常了。大家说,我说的有道理吗? ”

也许就象当年的dos,dos的时钟中断。
jk3278jk 2001-10-14
  • 打赏
  • 举报
回复


不是病毒问题,是windows的自身问题。

我在用TRW2000破解软件时,也出现了这样问题。

dhzsir 2001-10-14
  • 打赏
  • 举报
回复
我试了一下用了20个TIME没有问题,你最好再杀一次毒
AFIHA 2001-10-14
  • 打赏
  • 举报
回复
那就是说windows的时间与cmos的时间不是同步的喽?
而是windows在启动的时候读取cmos的时间,然后它就用自己的程序来管理时间啦;
这样timer太多影响了windows的时间,而与cmos的时间的无关。
想想也有道理哈!
cclxj 2001-10-14
  • 打赏
  • 举报
回复
还有没有人遇到这种情况呀?
cclxj 2001-10-14
  • 打赏
  • 举报
回复
我的程序是一样的。为什么每天慢的不一样呢?这也说不过去呀。
cclxj 2001-10-14
  • 打赏
  • 举报
回复
: 21bird(世纪菜鸟:不经历风雨,怎么见彩虹!)说的有道理。我的TIMER事件是很复杂。可它应该每天都是一个情况呀。为什么有时慢到15分钟,有时则不到1分钟呀。
shawls 2001-10-14
  • 打赏
  • 举报
回复


注意晴空,还有,和系统对时
某鸟 2001-10-14
  • 打赏
  • 举报
回复
有时不是timer太多,而是timer事件的响应操作太多。
shuang8 2001-10-14
  • 打赏
  • 举报
回复
timer不好用!
cclxj 2001-10-13
  • 打赏
  • 举报
回复
timer不精确,但是它不可能把系统时间也改了吧。
加载更多回复(12)

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧