fsMDIForm主窗体FormCreate时动态创建了一个TShape:
Shape:=TShape.Create(Self);
.
.
.
注意,这里我并没有设置Parent。
然后我在打开fsMDIChild子窗体后才设置其Parent属性,是子窗体的某个控件,问题来了,我第一次打开子窗体时正常,然后第二次就会报地址错误了哈。
子窗体的FormDestroy我做了相应的释放:Form2:=nil;
静待回复...

解决方案 »

  1.   

    fsMDIChild子窗体后才设置其Parent属性,是子窗体的某个控件
    你把你子窗体上某个控件设成Shape的Parent?这样好象会有问题吧。那你为什么不在子窗体创建的时候再创建这个Shape?
    你虽然在子窗体的FormDestroy我做了相应的释放:Form2:=nil;但实际上这个Shape并没有被释放
      

  2.   

    试了下Shape的确没有被释放...
      

  3.   

    在子窗体释放的时候将其Parent设为nil。
      

  4.   

    Shape.parent := nil;
    Form2:=nil;