非常奇怪,比如我生成了3个子窗体(范例窗体是TForm2)
Form2,Form2_1,Form2_2
如果我先关闭Form2_2,Form2和Form2_1就都失效了,只要操作就出现错误(Address....之类的)..
而如果不先关闭Form2_2,怎么弄都可以....晕啊

解决方案 »

  1.   

    根据你说的现象,应该是你把Form2,Form2_1,Form2_2 三个指针 都指到同一个对象上去了
      

  2.   

    代码是在一个大的程序里的,分离不出来
    大家说说看,会不会是因为什么变量或类在申明的时候有什么不对,导致最后一个child被关闭后被Free后,其他窗口就不能用了? 有这可能吗? 可是我的所有变量和过程和函数都是在子窗体的public中声明的,只有一个类型是在type中声明的.大家说这可能吗?
      

  3.   

    呵呵还不只这个问题,MDI就是这么怪了。
      

  4.   

    在implementation前的var 变量定义处是否有  Form2: TForm2 的定义;如果有删除此行再编译,如果出错就是问题根源
      

  5.   

    to 3jjj(g): 请问,你说的在implementation前的var 变量定义处是否有  Form2: TForm2 的定义,是指fom1的implementation还是form2的?
      

  6.   

    你用的是mdi框架,当然指子窗体
      

  7.   

    在3jjjj(g)的帮助下,问题解决了!!!!高兴啊!!!
    是这样的: 我去掉了form2中的implementation的Form2: Tform2
    在form1的implementation中加入了var Form2: Tform2
    并把form2中的所有form2.都改成了self.
    爽!!!!!我已经被这东西困了一整天了.
      

  8.   

    结贴!
    to 3jjjj(g): 我还有两个和这个一样(相关)的贴子,一共150分,也结贴,请你进来.!太高兴了,这个问题差点困死我.贴子是:
    http://expert.csdn.net/Expert/topic/3006/3006179.xml?temp=.7312738
    http://expert.csdn.net/Expert/topic/3005/3005264.xml?temp=6.376284E-02真想当面谢谢你!!!!
      

  9.   

    http://expert.csdn.net/Expert/topic/3006/3006179.xml?temp=.7312738
    的问题你看看是否可以解决了,另一个问题看的不是很明白
      

  10.   

    在子窗体的onclose中写active:=csfree;
    好象是的