1

私は他のクラスで解析したいこのxmlファイルにxmlファイルをダウンロードするスレッドを持っています。これで、ダウンロードできるスレッドを準備できました。MainForm では WaitForSingleObject を使用していますが、この関数は MainFrom をフリーズさせます。ありがとう。

4

2 に答える 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 に答える