我将主窗体fmmain的formstyle属性设置为FSMDIForm,
将子窗体fmmanage的formstyle属性设置为FSMDICHILD,
然后再运行下面的程序就出错
function Tfmmain.openwindows(fm:tform):boolean;
begin
if (ActiveMDIChild<>fm) or (fm=nil) then
   begin
     if ActiveMDIChild<>nil then
       ActiveMDIChild.Close;
       result:=true;
   end
   else
     result:=false;
end;procedure Tfmmain.N3Click(Sender: TObject);
begin
  if openwindows(fmmanage) then
  begin
   application.CreateForm(tfmmanage,fmmanage);
   fmmanage.Show;
  end;
错误为cannot create form ,no mdiforms are currently active.怎么解决上面的问题???

解决方案 »

  1.   

    为什么非得要将
    子窗体fmmanage的formstyle属性设置为FSMDIform才才可以呢?
      

  2.   

    function Tfmmain.openwindows(fm:tform<--可能是这里的问题):boolean;
    这是我的  if not Assigned(Fm_TB_Xsqk_XsdbN) then begin
        Application.CreateForm(TFm_TB_Xsqk_XsdbN, Fm_TB_Xsqk_XsdbN);
      end else begin
        Fm_TB_Xsqk_XsdbN.Show;
        Fm_TB_Xsqk_XsdbN.WindowState:=wsNormal;
        Fm_TB_Xsqk_XsdbN.BringToFront;
      end;
      

  3.   

    在调用createform()是出错!!!
      

  4.   

    但是将子窗体的属性不设置为mdchild就可以!什么原因啊?