gpt4 book ai didi

delphi - 如何在 GUI 更新期间保持 Delphi 应用程序响应?

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

这个问题是关于在长时间运行的任务(大多数情况下是几秒钟)期间保持 GUI 响应。

我广泛使用线程和任务模式在后台线程中执行昂贵的任务。但是 GUI 更新需要一些时间怎么办?例如,填充一个大字符串网格或 TreeView ?线程在这里没有帮助,因为无论如何一切都需要与主线程同步。

我知道 Application.ProcessMessages 的问题,但目前它似乎是在 GUI 更新方法中调用 ProcessMessages 的唯一解决方案。

还有更好的想法吗?

最佳答案

IMO,如果 GUI 更新是瓶颈(即使按照 @The_Fox 建议使用 BeginUpdate/EndUpdate),那么是时候重新考虑所使用的 GUI 控件了。标准网格、 TreeView 、列表框并不是简单地为了处理大量项目而裁剪的。为此目的,有许多免费和商业的高性能第三方控件。

对于初学者来说,如果瓶颈位于网格、 TreeView 或列表框上下文中,请检查 VirtualTreeview。

关于delphi - 如何在 GUI 更新期间保持 Delphi 应用程序响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2183527/

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