私は他のクラスで解析したいこのxmlファイルにxmlファイルをダウンロードするスレッドを持っています。これで、ダウンロードできるスレッドを準備できました。MainForm では WaitForSingleObject を使用していますが、この関数は MainFrom をフリーズさせます。ありがとう。
質問する
765 次
2 に答える
3
まず、イベントを使用してスレッドを設計し、Synchronize を使用してそれらを呼び出します。
MainForm でスレッドを作成し、それにイベント ハンドラーを割り当てます。
Thread := TMyThread.Create(True);
Thread.OnDownload := DoDownload;
Thread.OnParse := DoParse;
// Other Events
Thread.Start;
MainForm で WaitFor* を使用しないでください。WinXX コンパイルにリンクされているだけでアプリのプラットフォームの移植性が失われるため、Windows メッセージ メソッドは使用しないでください。
于 2012-07-02T13:17:13.020 に答える
0
メインスレッドで待機するのはあまり良い設計ではありませんが、場合によっては必要になることがあります。ただし、待っている間も、スレッドに送信されるメッセージを処理する必要があります。
MSDNのMsgWaitForMultipleObjectsを見てください。
于 2012-07-02T11:18:24.200 に答える