WINDOWS堆栈不是一般都是4G吗,怎么会出现这种错误呢?我要在该窗口关闭时就释放掉该怎么解决?

解决方案 »

  1.   

    用Free试试呢
    或者这样
      with TYourForm.Create(self) do
      try
        ShowModal;
      finally
        Free;
      end;
      

  2.   

    你的窗口是一般的窗口吧,不是MDI的吧
    在创建的时候写:
    var
      f: TYourForm;
    begin
      f := TYourForm.Create(nil);
      f.ShowModal;
      f.Free;  //在这里释放,不要在yourform的onclose里面释放,否则会出现访问内存错误
    end;
      

  3.   

    大家上面说的,对于myform.showmodal可以,但是对于myform.show这种就不行了。我做的系统需要打开一个窗口时,同时再打开第二个窗口,查看一下第二个窗口的信息,每次都要这样,每打开一下第二个窗口,就要重新创建,但
    f.Show;
    f.Free;
    第二个窗口就根本不会出现,刚打开就关闭了,这该怎么办?
      

  4.   

    关于Release,请楼主哥哥仔细看一下帮助,好像不是这样用D
      

  5.   

    最近内存泄露搞的我头很大,每生成一个窗口都要想着释放,每NEW一个东东就要想着用完后销毁,但这个myform.show又该怎么办呢?在那毁灭都会被警察逮住,我该怎么办啊?
      

  6.   

    f.show;
    然后在formclose时写入
    action:=cafree;
    就可以了.
      

  7.   

    同意楼上: lzy6204(为了忘却的记忆) 的说法。
    你创建的不是mdi窗体,不用那样释放的。
      

  8.   

    多谢各位大侠,前几天因为过节没来上CSDN,也就没有结贴,今天一上,信誉分也降了一分,哎......
    不过还是要谢谢各位的答复。