当然了,你的程序中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.
把它们加在Begin…end之间呀!
我打错了,本来就是: if SplashAbout.CanRan then begin Application.CreateForm(TMainForm, MainForm); SplashAbout.Close; end;
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.
if SplashAbout.CanRan then
begin
Application.CreateForm(TMainForm, MainForm);
SplashAbout.Close;
end;
SplashAbout:=TAboutForm.Create(Application);
这样一来,就把SplashAbout作为了主窗口
你又用了SplashAbout.Close;
那么进程就结束了,结果就是你所说的“一闪而过”了我这么认为,不知道对不对
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.高手指教
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;