关闭窗口是堆栈溢出问题

110CODE 2011-09-20 12:46:10
我在我的工程里创建第4个窗口中!一个结束的按钮代码如下:

void __fastcall TForm4::Button1Click(TObject *Sender)
{
Form1->Enabled = true;
Form4->Close();
}

运行后先通过Form1窗口打开Form4:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Form1->Enabled = false;
Form4->Show();
}
在关闭form4时系统弹出对话框说 Stack Overflow 不知道哪里的堆栈溢出了!不知道有没有哪位仁兄遇到过我这样的问题!
...全文
79 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jonix 2011-09-20
  • 打赏
  • 举报
回复
FormClose 中有没有代码?Action = caFree 之类的有吗?
zzbinfo 2011-09-20
  • 打赏
  • 举报
回复
呵呵,你在close事件里面执行close操作当然出错了
110CODE 2011-09-20
  • 打赏
  • 举报
回复
问题找到了!那出错的那句删掉就好了!

FormClose里面有代码:
void __fastcall TForm4::FormClose(TObject *Sender, TCloseAction &Action)
{
Form1->Enabled = true;
Form4->Close(); //这句出错了!
}
调用该函数时可能窗口已经被注销了!然后Form4->Close();调用就无效了!

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧