Borland C++Builder 6 MDI 应用程序
Posted
技术标签:
【中文标题】Borland C++Builder 6 MDI 应用程序【英文标题】:Borland C++Builder 6 MDI Application 【发布时间】:2014-05-18 06:15:50 【问题描述】:我在Borland C++Builder 6中做了一个mdi应用。
我做了两个表格:
-
主窗体
子表单
我将子表单设置为可用表单。
当我想调用子表单时。我使用以下命令:
Application->CreateForm(__classid(TChildForm), &ChildForm); //calling Child form
为什么当我再次调用命令时,子窗体变成这样的2?
【问题讨论】:
可能是因为你打电话给CreateForm
?
【参考方案1】:
首先,不要使用Application->CreateForm()
,而是使用new
:
ChildForm = new TChildForm(this);
第二,你描述的很正常。您正在创建一个独立子表单的新实例,这就是您所看到的。如果您不想要另一个孩子,请不要创建新的,重新使用您已有的,例如:
if (!ChildForm)
ChildForm = new TChildForm(this);
// use ChildForm as needed...
TChildForm *ChildForm = NULL;
__fastcall TChildForm::~TChildForm()
ChildForm = NULL;
void __fastcall TChildForm::FormClose(TObject *Sender, TCloseAction& Action)
Action = caFree;
【讨论】:
以上是关于Borland C++Builder 6 MDI 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
虚拟内存地址空间不足(Borland C++ Builder 6 程序)