正如你所看到的,我在使用Delphi2010开发的应用程序中的Delphi组件遇到了一些问题。
每当我打电话的时候:
Self.Timer1.Enabled := False;
Self.Timer1.Enabled := True;timer组件似乎确实停止了,但它再也不会启动了。例如,它从不调用OnTimer事件。
我将它与Indy10 IRC组件(TIdIRC)结合使用。
提前感谢:)
发布于 2010-09-29 13:11:36
我在一个单独的线程中创建了一个计时器,一切都再次正常工作:)
谢谢你们,我学到了很多东西。
发布于 2010-09-20 18:39:13
你也知道大多数Indy调用都是阻塞的吗?定时器通过发送Windows消息来工作,这意味着需要处理这些消息才能触发定时器。如果应用程序/主线程阻塞,它不会处理消息,计时器也不会触发。也许这就是你的问题?
此外,如果您的应用程序是Windows服务或控制台应用程序,则可能不会处理消息。
发布于 2010-09-20 20:54:02
把Indy从等式中去掉,看看你是否能让它基本上每10秒抛出一次提示。如果不是,那么你做错了什么。比如错误地解释了间隔时间。例如,“(10000/10秒)”不是很清楚。我想你的意思是"10000ms,也就是10秒“,但是你没有显示你的代码,所以我只能猜测。Delphi不会猜测,它会按你说的做。无论如何,制作一个包含表单、按钮、编辑框和ttimer的示例应用程序,并进行实验。在你介绍Indy之前,先让计时器开始工作。然后你就知道你遇到的是TTimer问题还是Indy问题。
https://stackoverflow.com/questions/3750359
复制相似问题