首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

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

2012-02-17 
new的窗体第二次关闭时提示:access violation at sddress 00000.Read of adderss 00000代码是这样的TForm3

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; 是正道。

热点排行