窗体的Hide,Close的不同之处?(内存~~~或其它的)

解决方案 »

  1.   

    Hide 只是把窗体隐藏起来,相当于置visable为false 。
    Close 是关闭一个窗口,同时释放
      

  2.   

    close后与此窗体相关的私有变量释放
      

  3.   

    close并没有完全释放窗体FREE才能完全释放啊
      

  4.   

    hide不一定close, 但close一定会hide;close的时候触发onclose事件,至于是不是释放, 可以在onclose中写代码;
    hide的时候触发onhide事件.procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
       Action := caFree; //关闭的同时释放.
    end;caNone //什么都不作
    caHide //隐藏窗体
    caFree //释放
    caMinimize //最小化窗体默认是 caNone
      

  5.   

    感谢楼上,我说怎么 Close 之后再 ShowModal,居然还保持了老的数据
      

  6.   

    建议楼主自己看看tform的close代码。
    方法:ctrl+鼠标左键,点form的close
      

  7.   

    自己做实验最好的
    Close是不会Free的,MainForm除外
      

  8.   

    为什么Hide之后和Close之后一样用show显示呢?
      

  9.   

    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      FreeAndNil()比较好
    end;
      

  10.   

    hide隐藏不释放,close关闭,如果要释放action:=cafree,在close事件里写。