我遇到SetTimer API 的问题 。
为了好奇,我在delphi的其他选项是什么?
TTimer
但它只是SetTimer / KillTimer的一个包装 codeproject.com/Articles/1236/Timers-Tutorial#QueueTimers全部在这里描述。 我对使用多媒体定时器有点犹豫,但是它们在Windows 8下依然表现良好。无论哪种方式,队列定时器或多媒体定时器都会给出更好的结果。
当你需要按照一定的时间进行工作的时候,你也应该问你是否需要用线程来完成工作。 处理定时器事件和从主线程卸载工作到单独的线程之间有很大的区别,无论是如何设置它以及如何执行(考虑越来越多的硬件具有多核处理器)。
最基本的方法是从TThread继承,但并不是那么直截了当。 (请参阅“新建项目”对话框或文档中的“线程”)还有一些Delphi的线程平台 。
我已经写了队列计时器包装作为Delphi组件项目已经停止,但你可以采取TksTimer
代码或安装ksTools
包。