请问:我在主界面点击菜单后用creat(self),showmodal生成和显示每个子窗口,在子窗体退出中用close,release释放窗体资源,可是通过win2000资源管理器察看内存使用情况发现随着打开、关闭子窗体次数的增多,内存使用也在不断增加,是资源释放的不好还是数据取到缓存无法释放呢?该如何解决?谢谢了。

解决方案 »

  1.   

    创建的时候这样写
    try
      if not assigned(Form1) then
        Form1 := TForm1.Create(Application);
      Form1.ShowModal;
    finally
      FreeAndNil(Form1);
    end;
      

  2.   

    请问过客:Create(Application)是创建整个工程的意思吗?我的主窗体是运行后自动生成的,想在点击菜单后生成子窗体,用Create(Application)行吗?
      

  3.   

    release是等到self这个owner被释放以后才释放你的子窗体
      

  4.   

    在Close事件中加:ACTION:=caFree;
      

  5.   

    Close事件:
    Form1:=NIL;
    ACTION:=caFree;
    打开时候:
    if Form1=NIL then
      Form1:=TForm1.Create(self);
    Form1.show;