私はFreeOnTerminate := true
を使って明示的にfalseに設定しましたが、明示的にスレッドを解放しようとするたびにコードがロックされます。私はロックアップがFree
ステートメントで発生すると判断しました。スレッドでフリーを呼び出すと、プログラムがハングアップするのはなぜですか?
スレッドプロセスの最後のステップでは、メインオブジェクトで作成したウィンドウハンドルにメッセージを送信して、「終了」を知らせます。そこでは、私はイベントを実行しているし、自由をしています。なぜこれが起こるのですか?
スレッドを解放するコードと、スレッドで実行されるコードを表示する必要があると思います。 –
メインスレッドが空きを待っているのと、メッセージが処理されるのを待っているスレッドとの間のデッドロックのように聞こえますが、メインスレッドが待機しているために発生しません。 –