我做了一个程,, 启动首先是 欢迎界面 , 我在工程的 unit 里写了停留五秒钟,,, 然后就是登陆窗口, 可是现在欢迎界面完了后, 要过十几秒时间才出登陆窗口 , 有什么办法让欢迎界面一过登陆窗口马上就出来,,, 哪怕是把这十几秒时间 让它断续显示欢迎界面 , 不然中间这段时间什么都没有,,别人还以为是死机了。
解决方案 »
- delphi 的抽象方法
- 50 分求助 Dephi 5调用 C# DLL 编译器错误:Type 'Byte' is not yet completely defined
- 关于 demo/doc/TextEdit 的问题
- 想开发一个ERP系统,用来连接数据库,从数据库中读取数据
- 很简单的一个问题
- 俩小问题,但我始终想不出来,请帮忙看看!
- 如何动态建查询字段,当建后,如何释放
- 通过局域网的共享目录访问Access文件,共享目录是只读的,
- 如何在注册表中存储图形或图标,并可以直接使用,如何使用呢?谢谢了,急救:)
- panxiaosen(子木) 请进
- 如何将时间变量加上10秒?
- 关于Dll文件的调用问题!
1。在欢迎界面上放个动画(GIF)。
2。能动态创建的东西,就动态创建
3。不要停留五秒钟(你都觉得慢了,还停留什么?)
4。顺序应该是这样的。
创建欢迎界面,显示欢迎界面,创建登陆界面(延时放在登陆界面的create里),
释放欢迎界面,显示登陆界面。
procedure TFormMain.FormCreate(Sender: TObject);
begin
...
...
ShowStartForm(); end;//这是显示欢迎窗体的过程
Procedure TFormMain.ShowStartForm();
Begin
FormStart:=TFormStart.Create(Self);
With FormStart Do
Begin
ShowModal;
Free;
End;
End;
//下面是欢迎窗体的原码(需要用到定时器)
procedure TFormStart.FormCreate(Sender: TObject); //确定显示时间并触发定时器
begin
Timer:=5; //Timer是一个类私有变量
Timer1.Enabled:=True;
end;procedure TFormStart.Timer1Timer(Sender: TObject); //如果Timer减少到0则关闭
begin
Timer:=Timer-1;
If Timer<=0 Then
Begin
Timer1.Enabled:=False;
Close;
End;
end;
//这样还可以在欢迎窗体显示过程中响应鼠标事件,比如如果不希望窗体显示预定那么长的时间,就单击窗体让他自行关闭:procedure TFormStart.ImageStart1Click(Sender: TObject);
begin
Timer1.Enabled:=False;
Close;
end;
procedure TFormMain.FormCreate(Sender: TObject);
begin
...
ShowStartForm();
If Not IsLogin Then Close;end;//IsLogin是一个函数,如果登陆成功则返回真,否则为假
Function TFormMain.IsLogin():Boolean;
Begin
ShowModal; -->>这句有问题!
你应该设置为Show, 然后, 让这个窗体显示在最前, 后台继续操作!
最后, 由后台来释放这个FormStart
Begin
ShowModal; -->>这句有问题!
你应该设置为Show, 然后, 让这个窗体显示在最前, 后台继续操作!
最后, 由后台来释放这个FormStart
-----------------------------------------------
大虾说得对,可能有问题,因为我的应用中没有后续其他操作,所以不存在问题。
看看这个
project1的文件
begin
Application.Initialize;
FrmStart:=TFrmStart.Create(FrmStart);//闪现窗体
FrmStart.Show;
FrmStart.Update;
Try
Application.CreateForm(TFrmMain, FrmMain);
Finally
FrmStart.Free;
end;
Application.Run;
end.mainForm的Create事件
procedure TFrmMain.FormCreate(Sender: TObject);
begin
sleep(2000);
end;还有你的定时器用的。
无语
我不知道定时器是应该这样用
procedure TForm1.FormCreate(Sender: TObject);
begin
timer1.Interval:=5000;
timer1.Enabled:=true;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
label1.Caption:=label1.Caption+'5秒到了!';
Timer1.Enabled:=false;
end;
还是应该这样用
procedure TFormStart.FormCreate(Sender: TObject); //确定显示时间并触发定时器
begin
Timer:=5; //Timer是一个类私有变量
Timer1.Enabled:=True;
end;procedure TFormStart.Timer1Timer(Sender: TObject); //如果Timer减少到0则关闭
begin
Timer:=Timer-1;
If Timer<=0 Then
Begin
label1.Caption:=label1.Caption+'5秒到了!';
End;
end;