如何最好地从 Windows 回调通知我的 Delphi 应用程序
我在 Delphi 中使用多媒体计时器,这非常适合相当准确的回调(与传统的 TTimer 相比)。然而回调来自另一个线程。我没有方便的形式用于 PostMessage() 或基于消息的方法来通知我的应用程序回调已发生 - 我只有一个类。我对基于消息的解决方案感到满意(如果需要)。将某种事件从 Windows 回调发送到我的类中的最简单方法是什么? 谢谢 布莱恩
I'm using the Multimedia timer in Delphi and this works great for quite accurate callbacks (compared to a traditional TTimer). However the callback is from another thread. I dont have a convenient form to use for PostMessage() or a message based means of notifying my app that the callback has happened - I just have a class. I'm happy with a message based solution (if necessary). What is the easiest way of sending some kind of event from the Windows callback into my class?
THanks
Brian
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
标准解决方案是使用 AllocateHWnd 过程创建一个不可见窗口作为类的字段来接收从回调函数发送的消息。 AllocateHWnd 过程的一个很好的使用示例是 TTimer 组件。
The standard solution is to create an invisible window using AllocateHWnd procedure as a field of your class to receive messages sent from callback function. A nice usage example of AllocateHWnd procedure is TTimer component.