在MDI中主窗体为Form0,
子窗体分别为Form1,Form2我用Form1动态调用Form2没问题,
procedure Tform1.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
Action:=cafree;
form1:=NIL;
end;
procedure Tform2.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
Action:=cafree;
form2:=NIL;
end;
第一种情形:如果当Form1动态调用Form2后,先关闭Form2,然后再关闭Form1,这时候如果继续用Form1动态调用Form2也没问题
第二种情形:如果当Form1动态调用Form2后关闭Form1,那么Form2就自动也关闭,这时如果继续用Form1动态调用Form2就出错,是什么原因呢?