窗口的动态调用出错?

JerryOne 2003-12-26 11:54:56
工程中有2个窗口Form1为主窗口,Form2为子窗口。
单击则出错,请问错在哪里??

"Cann't make a visible window modal"

void _fastcall TForm1::Button1Click(TObject *Sender)
{
TForm2 *Forms;
try
{
Form2=new TForm2(Application);
Form2->ShowModal();
delete Form2;
}
catch(Exception &exception)
{
delete Form2;
Application->ShowException(&exception);
}
}
...全文
51 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
JerryOne 2003-12-30
  • 打赏
  • 举报
回复
ok !
结帖!
StockViews 2003-12-30
  • 打赏
  • 举报
回复
"Cann't make a visible window modal"不是说得很清楚了吗?
解决方法:选中Form2窗口,按F11,修改其属性Visible值为false,保证搞掂。
guangjie 2003-12-30
  • 打赏
  • 举报
回复
例如非要使用父子窗体,应改为
void _fastcall TForm1::Button1Click(TObject *Sender)
{
TForm2 *Forms;
try
{
Form2=new TForm2(Application);

}
catch(Exception &exception)
{
delete Form2;
Application->ShowException(&exception);
}
}

因为子窗体一旦创建,就会在父窗口中显示了.
JerryOne 2003-12-27
  • 打赏
  • 举报
回复
To :guangjie
我就是想实现父子窗体
都设定为fsNormal就没有意义了!
ljianq 2003-12-26
  • 打赏
  • 举报
回复
MDI子窗体只能用Show();
guangjie 2003-12-26
  • 打赏
  • 举报
回复
Form1和Form2 的formstyle 都设为fsNormal就不会发生错误了.
JerryOne 2003-12-26
  • 打赏
  • 举报
回复
用Show没有出错,但是什么都没提示
也什么都看不见啊???
JerryOne 2003-12-26
  • 打赏
  • 举报
回复
Form2 的formstyle 为MDIchild啊
自动生成的窗体只有一个 Form1
ljlln 2003-12-26
  • 打赏
  • 举报
回复
Form2 的那formstyle =normal
goldtigereye 2003-12-26
  • 打赏
  • 举报
回复
#include "Unit2.h"

void _fastcall TForm1::Button1Click(TObject *Sender)
{
TForm2 *Form2=new TForm2(this);
Form2->ShowModal();
delete Form2;
}
showmodal不能try...catch(...)吧!
COpyFRee 2003-12-26
  • 打赏
  • 举报
回复
如果你的 Form2 设置为 Auto-create form ,那么只要在 Form1 的 .cpp 中加入 Form2 的引用,就可以直接调用 Form2 的方法了,如下:

#include "Unit2.h"

Form2->ShowModal();

13,824

社区成员

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

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