德尔福 - 两种模态形式

时间:2012-09-20 03:06:45

标签: delphi

我有一个主要形式(A)调用模态形式(B)。 (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; 

我很快就会疯了:)

1 个答案:

答案 0 :(得分:0)

发现问题。调用表单的按钮有一个模态结果= mrclose !!