gpt4 book ai didi

delphi - Application.OnIdle 继续执行

转载 作者:行者123 更新时间:2023-12-03 04:15:19 25 4
gpt4 key购买 nike

我正在尝试在应用程序空闲时处理一些事件,因此我创建了此代码

procedure TForm1.ApplicationEventIdle(Sender: TObject; var Done: Boolean);
begin
Done := false;
ShowMessage('Hello');
Done := true;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnIdle := ApplicationEventIdle;
end;

问题是消息框出现无限次,我怎样才能只显示一次?

最佳答案

这种行为的发生正是因为您显示了对话框。为了关闭对话框,您必须单击“确定”按钮。这会将输入消息放入队列中。处理完毕后,将触发 OnIdle 事件。然后您再次显示消息框。等等等等。

您需要确保您没有在 OnIdle 处理程序中执行任何需要用户输入的操作。在您的情况下,尝试输出到日志而不是显示对话框,例如输出调试字符串。

关于delphi - Application.OnIdle 继续执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8602461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com