一个主窗体(MDI),在它create的时候我
  Form_main.Hide;
  Form_login.Show;(form_login的style是normal)
又创建了个子窗体,Form_add,style是mdichild。
但是运行的时候出现错误,提示是没有MDIForm激活(Active)。
请问是怎么回事啊?
代码如下:
program Score;uses
  Forms,
  Unit_login in 'Unit_login.pas' {Form_login},
  Unit_main in 'Unit_main.pas' {Form_main},
  Unit_cadd in 'Unit_cadd.pas' {Form_cadd};{$R *.res}begin
  Application.Initialize;
  Application.CreateForm(TForm_login, Form_login);
  Application.CreateForm(TForm_main, Form_main);
   Application.CreateForm(TForm_cadd, Form_cadd);
  Application.Run;
end.

解决方案 »

  1.   

    将此行去除试试‘Form_main.Hide;’
      

  2.   

    Form_login.Show;应写到项目文件中较合适如下:
    Application.Initialize;
      Application.CreateForm(TForm_login, Form_login);
      if Form_Login.ShowModal=1 then
         Application.CreateForm(TForm_main, Form_main);
      Form_Login.Hide;
      Form_Login.Free;
       //Application.CreateForm(TForm_cadd, Form_cadd);
      Application.Run;
      

  3.   

    http://expert.csdn.net/Expert/topic/2287/2287996.xml?temp=.3229181
    看一下吧,有点类似
      

  4.   

    MDI 子窗体要 show 在 MDI 主窗体中才行!如果你要在 MDI 主窗体 show 之前显示登录窗体,此登录窗体不应是子窗体,在 .dpr 文件中写:
    begin
      Application.Initialize;
      LoginForm:=TLoginForm.Create(Application);
      if not LoginForm.ShowModal then
        Application.Terminate
      else
      begin
        Application.CreateForm(TMainForm,MainForm);
        Application.Run
      end;
      
        
    end.