强烈介意使用Free.
在Form的OnClose事件中,可以写上这么一句:Action:=CaFree。

解决方案 »

  1.   

    如果你在创建的时候,指定了Owner,那么不必要。Owner会替你释放的。
    如果没有Owner,传入的参数是nil,那么要自己释放,用Free方法,而不是Destroy。
      

  2.   

    try
      create
    finally
      free
      

  3.   

    try
      create
    finally
      free
      

  4.   

    还有,
    在Create时指定了Owner,还要不要指定它的Parent呢?两者有没有什么关系?
    这样写有没有必要:
    LHorizontalShape[iLineIndex] := TShape.Create(TableForm);
    LHorizontalShape[iLineIndex].Parent := TableForm;
      

  5.   

    两者应该没有关系吧比如你创建一个button,你当然要指定它在那个控件上显示了,就用parent := 控件名字
      

  6.   

    Owner跟Parent有不同的意思。
    Owner是拥有者,但是Parent是其的显示区域。
    如果不释放的话会有什么结果呢?:内存泄漏。
      

  7.   

    如果OWNER是NIL就一定要释放,一般不提倡用
    用SELF就可以,在父窗体被释放,它也就被释放掉了