怎么判断一个窗体已创建?如用户最小化了,就不能再创建一次,因此怎么判断一个窗体已创建且没释放过,不能判断释放过的窗体,如 action;=cafree了,

解决方案 »

  1.   

    设置一全局变量
    判断该变量值来判断是否释放窗体
    在窗体的oncreate时间
    和释放时间各设置一次
      

  2.   

    if From1 <> nil then
      

  3.   

    if not assigned(Form1) then
      Form1 := TForm1.Create(Application);
    Form1.show;
      

  4.   

    释放要用
    action:=cafree;
    Form1 := nil;
      

  5.   

    ljmanage(过客)  的方法能实现
      

  6.   

    如果在form1中调用form2,要判断Form2是否释放
    呵呵,如果不管form2 是否为nil 都能判断出来是否没释放过可以采用
    如下
    var
      i:integer;
    begin
      for i:=0 to screen.FormCount-1 do
      begin
        if (screen.Forms[i]<>self) then
        begin
          screen.forms[i].free;
        end;
      end;
    end;