begin
  Application.Initialize;
  Form_login:= TForm_login.Create(Application);
  Form_login.ShowModal;
//这里。。   
  Application.CreateForm(TForm_main, Form_main);
  Application.CreateForm(TForm_money, Form_money);
  Form_login.Hide;
  Form_login.Release;
  Application.Run;
end.FORM——LOGIN有个BUTTON,如果单击就判断EDIT中的内容是否为123,如果正确就显示主窗体,不是就销毁它,怎么做?

解决方案 »

  1.   

    Frm_Login:=TFrm_Login.Create(Application);
          try
            Frm_Login.ShowModal;
            if Frm_Login.Edit='123' then begin
              Application.CreateForm(TForm_main, Form_main);
              Application.CreateForm(TForm_money, Form_money);
              Application.Run;
            end;
          finally
            Frm_Login.Free;
          end;
      

  2.   

    1. 判断过程不在项目单元里写,在Form_login里写
    2. 项目单元如下:
    begin
      Application.Initialize;
      Application.ShowMainForm:=false; //程序不显示主窗口  
      Application.CreateForm(TForm_main, Form_main);
      Application.CreateForm(TForm_money, Form_money);
      //注意,Form_money的visible必须为false
      Application.Run;
    end.
    3. Main单元的OnCreate如下:
    begin
     Form_login:= TForm_login.Create(Application); //创建登陆窗口
     if Form_login.ShowModal=mrOK then self.show //登陆的密码正确,则显示自己
     else Application.Terminate; //否则,程序结束
    end;
    4. login单元的Button的OnClick如下:
    begin
     if 密码正确 then ModalResult:=mrOK  //密码正确,关闭自己,返回值mrOK
     else //除了ModalResult:=mrOK以外,随你写了
    end;被ShowModal的窗体,只要有ModalResult:=[mrOK,mrCancel,mrAbort,..]等,就会自动关闭,并返回相应的值。