gpt4 book ai didi

multithreading - 如何避免TForm.Caption中的 “(not responding)”?

转载 作者:行者123 更新时间:2023-12-03 18:55:32 45 4
gpt4 key购买 nike

在VCL主线程中,我运行一个脚本,该脚本可能需要几分钟才能执行(这是一个还原数据库脚本)。

如果用户单击UI,则我的标题为“无响应”。
Application.ProcessMessages不起作用。

我想添加一个“选取框进度栏”,而没有“不响应”。

唯一的解决方案是在线程中运行Db脚本吗?

谢谢。

最佳答案

David的线程解决方案是最好的答案,我投了赞成票。但是出于完整性考虑,有时可以使用其他方法。如果数据库引擎具有OnProgress通知(回调),则该通知可用于更新状态/进度,在这种情况下,对ProcessMessages的调用将起作用。有时,这只是您所需要的,但仅限于非常简单的情况,例如,当您显示“进度”对话框时,并且在完成之前,您不希望用户执行其他任何操作。

关于multithreading - 如何避免TForm.Caption中的 “(not responding)”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17106823/

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