我希望在打开大型查询时使用新的 Seattle TActivityIndicator,但这会阻塞主 vcl 线程并因此停止 TActivityIndicator。
当然 TActivityIndicator 指示事件并且应该在不同的线程中工作。
不必在任何地方都放入 Application.Processmessages 是否还有另一种方法?
最佳答案
新的 VCL UI 事件指示器是一个进度指示器,旨在反射(reflect) Windows 10 的外观。与任何其他 VCL 控件一样,它遵循通常的 VCL 线程规则。对控件的所有访问都必须来自 UI 线程。
因此,您需要从 UI 线程创建和显示指标。您需要确保 UI 线程从未被阻塞。这意味着任何长时间运行的任务都必须转移到工作线程,以免它们阻塞 UI 线程。
加上 ça 变化,加上 c'est la même chose。
关于multithreading - 新的Delphi TActivityIndicator运行在主线程有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33599790/