如題

解决方案 »

  1.   

    在onClose中加入Action := caFree;
      

  2.   

    在onclose裡面加了,可以關閉,但如果主窗題不退出,再次打開該子窗體,就報錯了.
    在onclose裡面加frm_login.free也可以關閉,但都出現上述問題
      

  3.   

    在主窗体上写以下代码:
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      if not Assigned(Form2) then//判断是否存在Form2的实例
      begin
        try
          Application.CreateForm(TForm2, Form2);
          Form2.Show;
        except
          // ……
        end;
      end;
    end;在子窗体上写以下代码:
    procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      Action := caFree;
    end;procedure TForm2.FormDestroy(Sender: TObject);
    begin
      Form2 := nil;//此句不可少
    end;