0

作業中に他のフォームの上に置きたい小さなフォームを作成しました。基本的には、「読み込み中...お待ちください」という小さな通知のようなものです。アニメーション化されたTGIFImageが含まれています。問題は、別のフォームが一生懸命働いているときに、このフォームのアニメーションと更新が途切れることです。おそらく、それらは同じスレッドで実行されているためですか?この小さなフォームを常に適切に更新するための迅速かつ簡単な方法はありますか? おそらく、それが独自のスレッドで処理されていることを確認する簡単な方法でしょうか?

4

2 に答える 2

0

ハードワークを独自の実際のスレッドに移動します。TThreadクラスを参照してください。フォームを通常どおりに表示してから、スレッドを開始し、スレッドの作業が完了したらフォームを閉じます。必要に応じて (プログレス バーなどのために) スレッドがステータスの更新をメイン スレッドに非同期的にポストするようにして、ワーカー スレッドがメイン スレッドを待って速度を落とさないようにします。

于 2013-01-16T05:52:37.483 に答える
0

回答ありがとうございます Remy Lebeau。ただし、既存のコードをできるだけ変更する必要はなく、既存のコードをスレッドなどに移動したくありませんでした。そのため、スレッドを生成し、そのスレッドでフォームを作成する通知用の小さなファクトリを用意することになりました。 . そうすれば、基本的に既存のコードを aShowHidecall でラップするだけで済みます。

于 2013-01-16T07:06:24.807 に答える