-2

我有一个称为模态表单(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;

我使用德尔福 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; 

我很快就要疯了:)

4

1 回答 1

0

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

于 2012-09-24T00:30:40.163 回答