希望这次20分有满意回答!,关于动态生成Form和释放问题。ccrun等高手快来救命
平时处理都可以,今天写了一个程序,描述一下:
Form1中动态生成Form2对象,然后,使用完成后释放Form2.
我是在Form1中的一个函数中调用的。如下:
TForm1::func1(int argc)
{
if (Form2==NULL)
Form2=new TForm2(this);
if (Form2!=NULL)
{
Form2->x=10;
Form2->Y=argc;
Form2->AddXY();
Form2->ShowModal();
if (Form2!=NULL)
{
Form2->Close();
delete Form2;
}
}
}
因为这个函数会被反复调用,所以问题就出来了:在第一次调用我但不执行到delete Form2时,发现
Form2指针还是没变成NULL,这样,我第二次再调用该函数func的时候,Form2!=NULL,但是访问Form2却会报错,说内存访问非法了。晕乎中。