如题。
请大家帮忙。

解决方案 »

  1.   

    问题弄错了,应该是一个form,怎么把自己free掉。就象在from1里边,怎么把form1给free掉?
      

  2.   

    在formclose事件里Action := caFree;
      

  3.   

    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      Action := caFree;
    end;
      

  4.   

    Action := Cafree;
    form1 := nil;
      

  5.   

    漏了一条语句;
     form1 := nil;
      

  6.   

    procedure form1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    begin
      
      CanClose := true;
    end;再加上这个,更好些!
      

  7.   

    楼上说的很对,delphi5开发人员指南上是这么写的.
      

  8.   

    对于showmodal的窗体:
    freeandnil(form1);
      

  9.   

    procedure form1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    begin  
      CanClose := true;
    end;
      

  10.   

    这个我明白了。
    还有一点,为什么不能在非close事件中free一个窗体呢?比如在一个button的click事件中free呢?
      

  11.   

    form close 事件里:
      action := cafree
    form destroy 事件里:
      formname := nil
      

  12.   

    Action := Cafree;
    form1 := nil;
      

  13.   

    Button裡面直接調用Close事件不行嗎?
      

  14.   

    在formclose事件里Action := caFree;
      

  15.   

    Button里调用close事件还是通过close来的啊。
    我的意思是不通过close,怎么才能free掉form自己(就是自己free自己)。
      

  16.   

    try
    finally
      freeandnil(FormX);
    end;