処理中の画面フリーズを防ぐには?

解決


TM  2004-09-23 00:54:28  No: 54531

毎回お世話になっています。

VC6、MFCダイアログベースでの製作です。

外付けハードディスク(iPod)内にある複数のファイル(MP3)をPCにコピーする処理を書いているのですが、コピー中にダイアログ画面がフリーズします。

CopyFile()を用いてコピーし、コピーのファイル数の進行状況をプログレスバーに表示させています。初めの2、3個のファイルコピーまでは正しく、ダイアログが表示されているのですが、それ以降プログレスバーが進行せず、メニュー部分が真っ白になります。しかし、時間が経つと、処理が終わり正しくコピーされています。

CopyFile();
m_prog.StepIt();

をファイル数分だけ繰り返しています。この現象を防ぐことはできないでしょうか?


たく  2004-09-23 01:48:45  No: 54532

処理中にメッセージポンプを入れると回避できるかもしれません。


Ban  2004-09-23 02:07:17  No: 54533

もしくは、コピー部分とUI用のメッセージポンプを別スレッド化?


TM  2004-09-23 02:42:52  No: 54534

ご返答ありがとうございます。

メッセージポンプで解決できたみたいです。
50個のMP3ファイルをコピーしても問題なく
表示できています。

ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加