在c ++ builder中启动时打开两个表单

时间:2014-03-26 21:17:50

标签: c++ forms c++builder

我想在运行程序时打开两种不同的表单。表单命名为Form2和Form3。 Form2正常运行,但Form3不运行。我已将Application->CreateForm(__classid(TForm3), &Form3);放在我的项目cpp文件中,并将Form3->Show();放在我的Unit2.cpp文件中,但是我收到错误:"Access violation at address 0047B2CE in module 'Project2.exe'. Read of address 00000384." 我做错了什么?

1 个答案:

答案 0 :(得分:2)

在没有看到您的实际代码的情况下,很难说,但是当您调用Form3时,可能还没有创建Form3->Show()。您在接近0的内存地址处收到错误,这表明您可能正在访问NULL指针。

除非您希望更多地控制何时显示表单,否则您无需致电Show()。您可以在设计时将Visible属性设置为true,并在调用Application->Run()以启动消息循环时让VCL为您显示。