活动指示器停顿

问题描述 投票:0回答:1

我正在 C++Builder 中运行一个冗长的例程,在例程运行时需要一个 ActivityIndicator 来满足用户的需求。作为故障排除的一部分,我在 IDE 的对象检查器中将 AI 设置为 Animate = True,以便 AI 在应用程序启动时运行。但是当我点击一个按钮来运行冗长的例程时,人工智能就会停止运行。当例程完成后,它会再次开始运行。有没有办法让AI在路由运行的同时也运行?

c++builder activity-indicator
1个回答
0
投票

听起来您正在主 UI 线程的上下文中运行冗长的例程。您需要在单独的线程上下文中运行它。您可以使用

TThread
TTask
来实现此目的。您的例程正在阻止主 UI 线程的消息循环处理 UI 相关消息,包括 ActivityIndicator 使用的消息。

经验法则:永远不要阻塞 UI 线程!

© www.soinside.com 2019 - 2024. All rights reserved.