我想在运行程序时打开两种不同的表单。表单命名为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."
我做错了什么?
答案 0 :(得分:2)
在没有看到您的实际代码的情况下,很难说,但是当您调用Form3
时,可能还没有创建Form3->Show()
。您在接近0的内存地址处收到错误,这表明您可能正在访问NULL指针。
除非您希望更多地控制何时显示表单,否则您无需致电Show()
。您可以在设计时将Visible
属性设置为true,并在调用Application->Run()
以启动消息循环时让VCL为您显示。