德尔福计时器:下一个事件之前的时间

sse*_*sse 12 delphi timer

是否可以确定Delphi中的TTimer何时触发?我知道如何根据计时器的上次运行和计时器间隔计算出来.不幸的是,我正在使用的代码有很多状态,间隔可以在很多方面改变.我宁愿不必跟踪上次启用计时器和更改间隔的时间,而是直接从计时器访问此信息.

场景:计时器有2分钟的间隔,自上次启用以来已经过了30秒,如何在代码中发现计时器事件将在90秒内再次触发?

是否可以直接从计时器获取此信息?或者OS?计时器组件必须"知道"下一次触发它的时间.怎么知道的?我可以访问这些信息吗?

Dav*_*nan 15

绝对没有办法查询Windows计时器以获取此类信息.你只需要自己跟踪这个.

我会通过TTimer包含组合而不是继承来完成此操作.然后,您可以确保捕获对计时器状态的所有修改.