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 程序)

Borland C++ Builder 6.0的详细说明

Borland C ++ Builder 5.0 [关闭]

Borland C++ builder 6 链接器错误

Borland C++ Builder 6 上的奇怪链接器错误

c++builder错误