窗体销毁时产生的问题,求助

jxncyjq 2005-04-13 11:26:00
void __fastcall TmfrmBuiness::FormShow(TObject *Sender)
{int Status,ExitFlag=0;
TLogin *Login=new TLogin(NULL);

do{
Status=Login->ShowModal();
switch(Status)
{
case mrOk:
{ShowMessage("Select OK");
ExitFlag=1;
}break;
case mrCancel:
{ShowMessage("Select Cancel");
ExitFlag=2;
}break;
case mrRetry:
{ShowMessage("Select Retry");
ExitFlag=0;
}break;
}
}while(!ExitFlag);
if(ExitFlag==2)
{Login->Close();
delete Login;
Close();
}

delete Login;
}
在窗体关闭的时候说
cannot change visible in onshow or onhide

何解?
...全文
112 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jxncyjq 2005-04-13
  • 打赏
  • 举报
回复
改成了以前的程序后同样是报错的,有人帮忙解答一下吗?
jxncyjq 2005-04-13
  • 打赏
  • 举报
回复
int Status,ExitFlag=0;
TLogin *Login=new TLogin(NULL);

do{
Status=Login->ShowModal();
switch(Status)
{
case mrOk:
{ShowMessage("Select OK");
ExitFlag=1;
}break;
case mrCancel:
{ShowMessage("Select Cancel");
ExitFlag=2;
}break;
case mrRetry:
{ShowMessage("Select Retry");
ExitFlag=0;
}break;
}
}while(!ExitFlag);
if(ExitFlag==2)
{delete Login;
Close();
}

delete Login;
jxncyjq 2005-04-13
  • 打赏
  • 举报
回复
我开始没有用这句就在报这个错呀,所以我后来才加上了这一句。
samchoy 2005-04-13
  • 打赏
  • 举报
回复
不需要这句:Login->Close();
因为窗口ShowModal()返回后, 窗口已经关闭
Cstarter 2005-04-13
  • 打赏
  • 举报
回复
我记得Application->Terminate();应该是这样执行的:
::PostMessage(Handle,WM_CLOSE,0,0);
PostQuitMessage(0);吧.
前一句关闭Handle相关的窗口,后一句退出消息循环.
yesry 2005-04-13
  • 打赏
  • 举报
回复
按照上述逻辑来讲,Close()换成Application->Terminate();比较实际。
3996906 2005-04-13
  • 打赏
  • 举报
回复
不能在OnShow和OnHide事件里面改变窗体的可见性


换地方写代码吧
yesry 2005-04-13
  • 打赏
  • 举报
回复
FormShow()的时候不能Close();
qin_wei 2005-04-13
  • 打赏
  • 举报
回复
最好在formcreate里用登陆窗口。
qin_wei 2005-04-13
  • 打赏
  • 举报
回复
Close();
改成
::PostMessage(Handle,WM_CLOSE,0,0);
但你在formshow里做这样的处理会发现窗体先闪了一下才关闭,最后在formcreate里用登陆窗口。
samchoy 2005-04-13
  • 打赏
  • 举报
回复
改这样试试

if(ExitFlag==2)
{delete Login;
Close();
}
else
delete Login;
mmking33 2005-04-13
  • 打赏
  • 举报
回复
在onshow事件中不能改变窗体的visible属性,你可以把它放到TmfrmBuiness构造函数里试试

13,825

社区成员

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

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