if form1 = nil then
  form1 := Tform1.Create(Application);
form1.Show;

解决方案 »

  1.   

    frmMain为主form,   frmcbcx为子form且为动态创建procedure TfrmMain.showform(FormClass: TFormClass);
    var
      i: integer;
    begin
      for i := 0 to self.MDIChildCount - 1 do
        if (MDIChildren[i] is FormClass) then
        begin
          self.MDIChildren[i].BringToFront;
         // sendmessage(MDIChildren[i].handle,wm_syscommand,SC_RESTORE,0);
          MDIChildren[i].SetFocus;
          Exit;
        end;
      FormClass.Create(self);
    end;
    调用则:procedure TfrmMain.N26Click(Sender: TObject);
    begin
        showform(Tfrmcbcx);
    end;
      

  2.   

    if form1 = nil then
      form1 := Tform1.Create(Application);
      form1.BringToFront;