保持一个表单更新,即使另一个表单正在工作

时间:2013-01-15 07:51:51

标签: c++builder vcl c++builder-2010 tgifimage

我创建了一个小表单,我希望在工作时将其放在其他表单之上。基本上就像一个小的“正在加载......请等待”通知。它包括一个动画 TGIFImage 。问题在于,当另一个表单正在努力工作时,动画和更新此表单会令人沮丧。可能是因为它们在同一个线程中运行?是否有一种快速简便的方法让这个小形式总能很好地更新?也许是一种快速的方法来确保它在自己的线程中处理?

2 个答案:

答案 0 :(得分:0)

将努力工作转移到自己的实际线程中。请参阅TThread课程。正常显示表单,然后启动线程,然后在线程完成其工作时关闭表单。如果需要,可以异步地将线程状态更新到主线程(例如进度条等),这样工作线程就不会因主线程而减慢速度。

答案 1 :(得分:0)

Thanx的回答Remy Lebeau。我希望尽可能少地改变现有代码,而不是将现有代码移动到线程等等。所以我最终做的是为我的通知创建一个小工厂,生成一个线程并在该线程中创建表单。这样我基本上只需要用ShowHide调用来包装现有代码。