モーダル フォーム (B) を呼び出すメイン フォーム (A) があります。(B)別のモーダルフォームを呼び出す(C)と、それらは正常に機能します
新しいモーダルフォーム(D)を追加して(B)から呼び出すと、フォーム(D)を閉じるとフォーム(B)も閉じます!! 閉じるボタンのモーダル結果= mrnoneを確認しましたが
お知らせ下さい
コード:
Form A calling B
B := TB.Create(self);
B.ShowModal;
Form B Calling C
C := TC.Create(self);
C.ShowModal;
Form B Calling D
D := TD.Create(self);
D.ShowModal;
Delphi 2010 を使用しています
より多くのコードが追加されました。これは、問題の原因となっているフォームを解放して発信者を閉じる方法です。
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action := cafree;
end;
procedure TForm2.FormDestroy(Sender: TObject);
begin
Form2 := nil;
end;
これは私がモーダルフォームを表示する方法です
procedure Tmymodalfrm.Button1Click(Sender: TObject);
begin
form2 := Tform2.Create(self);
form2.ShowModal;
end;
そして、コール スタックでトレースした後、最初にフォーム B を作成したコードを取得しますが、これは非常に正常です。
B := TB.Create(self);
B.ShowModal;
そして私はすぐに夢中になります:)