if  not assigned(frmLook) then
    frmLook := TfrmLook.Create(Application);
  frmLook.Show;
窗体是MDIChild,用上面的语句点击按钮窗体不弹出,onDestroy事件里已经把它设为nil了,为什么不显示呢?

解决方案 »

  1.   

    你应该先用TApplication.FindComponent来找出frmLook再用assigned(frmLool)来判断啊!
      

  2.   

    这是我写的一个函数创建MDIChild窗体的,希望对你有用!
    function TfrmMain.CreateChildForm(FormClass: TFormClass; Name: String): TForm;
    var ChildForm: TForm;
    begin
      ChildForm := TForm(Application.FindComponent(Name));
      if not (Assigned(ChildForm)) then
        ChildForm := FormClass.Create(Application)
      else
      begin
        ChildForm.WindowState := wsNormal;
        ChildForm.BringToFront;
      end;
      Result := ChildForm;
    end;