左側の treeView と右側のパネルに基づくアプリケーション レイアウトがあります。パネルは、選択したツリー ノードに応じて異なる TForm クラスをホストします (一種の「フォーム エクスプローラー」)。一度に表示されるフォームは 1 つだけで、別の場所に保存されている基になるデータを公開し、新しいツリー ノードがクリックされるたびにフォーム インスタンスが作成および破棄されます。
次のシナリオを除いて、これはすべて正常に機能します。1 秒ほどかかるアクションを起動するフォームのボタンをクリックします。このアクション中に、Application.ProcessMessages が呼び出される場合があります。このアクションが実際に完了する直前に、ユーザーは新しいツリー ノードをクリックします。この wmMousedown メッセージが処理され、フォームがすぐに解放されます。その後、アクション コードはフォーム コードに戻り、self が変更され、AV が発生したことを検出します。
私の質問は、フォームの解放を許可する前に、フォームのメッセージがすべて処理され完了したことを知る方法はありますか? モーダルフォームは、忙しい場合に閉じる前に一時停止するため、閉じるボタンがクリックされたときにこれを行うようです...
ありがとうブライアン