有关Timer的问题 - 不爽(300分)

win98下时间有误的问题,我也遇到了。
学习一下
 
To Ale., 用消息处理,是说ProcessMessage么? 我在循环中用了一下,
没有什么改善。 您可以试一试。

To ncutzcb, 我现在最苦恼的就是这点了 :(
 
使用Application.ProcessMessage只是可以释放控制权,应该对时钟没有太大的影响。
我遇到的情况是:
如果没有加ProcessMessage的话,显示时钟的时候会有跳跃,并且非常明显。
增加了ProcessMessage后,情况有了好转。起码跳跃的现象没有了。
但是对于时钟应该是没有影响的。
刚才有人告诉我:windows只是在系统启动的时候才读取cmos时间,
系统启动之后的时间就是由windows本身维护的。
所以如果是软件的问题的话,你的操作系统时间和cmos的时间是不同的。
有人建议我通过读取cmos的端口来取得cmos的时间来修正系统时间。
不过我还没有找到这样的方法。
 
不知道为什么, 用TimeSetEvent和TimeKillEvent做的Timer,在98下
设成3分钟的延时,结果就会在40多秒触发 :( 大家可以试试这个
控件: http://www.neweasier.com/downloadvcl.html?id=1984

后三个问题明白了, 只剩下这个问题了。 搞定就发分~~
 
有空时才会执行。
快到触发时间时程序忙!
 
to jsxjd, 如果40秒的interval到3分钟才触发, 我们可以这样去解释(太迟钝了,呵呵)

但是如果3分钟的interval 40秒就触发, 肯定不是系统忙的原因...
 
322913:建议采用的更新程序
下载大小: 3.6 MB, 4 分钟
本更新程序解决了 Windows 2000 中的"在 Wincows 2000 中 WM_TIMER 消息
可能会被阻止向程序传递"这一问题,在 Microsoft 知识库 (KB) 文章 Q322913
中详细讨论了这一内容。请立即下载本更新程序,以便在 Windows 2000 中可以
继续向程序发送 WM_TIMER 消息。 更多信息... (可能是英文站点。)
 
哪儿来的? Win98下呢? 没有问题?
 
你要比较精确地执行,用 Timer 肯定是不可靠的。
 
用timegettime试试、
 
顶部