你把你的登陆窗口设成autocreate好了,如果密码通过再动态create你的主窗体嘛

解决方案 »

  1.   

    当然了,你的程序中var
      SplashAbout:TAboutForm;
    begin
      Application.Initialize;
      SplashAbout:=TAboutForm.Create(Application);
      try
        SplashAbout.MakeSplash;
        if SplashAbout.CanRan then
          Application.CreateForm(TMainForm, MainForm);
          SplashAbout.Close;//无论如何都是在SplashAbout.MakeSplash后就会关的呀!
      finally
        SplashAbout.Free;
      end;
      Application.Run;
    end.
    var
      SplashAbout:TAboutForm;
    begin
      Application.Initialize;
      SplashAbout:=TAboutForm.Create(Application);
      try
        SplashAbout.MakeSplash;
        if SplashAbout.CanRan then
        begin
          Application.CreateForm(TMainForm, MainForm);
          SplashAbout.Close;
        end;
      finally
        SplashAbout.Free;
      end;
      Application.Run;
    end.
      

  2.   

    把它们加在Begin…end之间呀!
      

  3.   

    我打错了,本来就是:
        if SplashAbout.CanRan then
        begin
          Application.CreateForm(TMainForm, MainForm);
          SplashAbout.Close;
        end;
      
      

  4.   

    问题在这里:
    SplashAbout:=TAboutForm.Create(Application);
    这样一来,就把SplashAbout作为了主窗口
    你又用了SplashAbout.Close;
    那么进程就结束了,结果就是你所说的“一闪而过”了我这么认为,不知道对不对
      

  5.   

    我觉得这样最好了
    begin
      Application.Initialize;
      MainForm:=TMainForm.Create(Application);
      try
          Application.CreateForm(TAboutForm,SplashAboutForm);
          SplashAbout.ShowModal;
          if SplashAbout.SomeVar <> true then
              MainForm.close
          else
              MainForm.Show;
      finally
          SplashAbout.Free;
      end;
      Application.Run;
    end.高手指教
      

  6.   

    以下是我的代码,// 是修改的代码.var
      SplashAbout:TAboutForm;
    begin
      Application.Initialize;
      SplashAbout:=TAboutForm.Create(Application);
      try
        if SplashAbout.ShowModal = mrOk then              //
           Application.CreateForm(TMainForm, MainForm);
      finally
        SplashAbout.Close;
        SplashAbout.Free;
      end;
      Application.Run;
    end.AboutForm单元文件中有如下过程:
    procedure TAboutForm.AboutShow;   // OnShow事件  //
    begin
      BorderStyle:=bsNone;
      Panel1.BorderWidth :=3;
    end;procedure TAboutForm.Button1Click(Sender: TObject);
    begin
      if (Edit1.Text ='administrator') and (Edit2.Text ='pass') then   //
          ModalResult := true;
    end;