new的窗体第二次关闭时提示:access violation at sddress 00000.Read of adderss 00000解决方法

new的窗体第二次关闭时提示:access violation at sddress 00000.Read of adderss 00000
代码是这样的
  TForm3*   Form3=new   TForm3(this);
    if(Form3-> ShowModal()==mrOk)
  {
          TForm7*   Form7=new   TForm7(this);
          Form7-> m_strName=Form3-> UserEdit-> Text;
          Form7-> ShowModal();
          delete   Form7;

}
delete   Form3;
在Form7的“关闭”按扭里:Close();
在Form7的   void   __fastcall   TForm7::FormClose(TObject   *Sender,   TCloseAction   &Action)
{
Action   =   caFree;      
}

请问这个错误是什么,怎么改正了?

------解决方案--------------------
Action = caFree;
是指在窗体关闭时释放.

你再用delete Form7;

就重复了,以上两处保留一处。
------解决方案--------------------
Action = caFree; // 释放窗体
delete Form7; // 也是释放窗体

两个一起用的话就叫重复劳动。
------解决方案--------------------
对于模态窗口一般delete 来处理
去年Action = caFree; 是正道。