一个有点怪的问题 ( 积分: 100 )

  • 主题发起人 主题发起人 3932756
  • 开始时间 开始时间
3

3932756

Unregistered / Unconfirmed
GUEST, unregistred user!
我在做启动画面是遇见一个问题,有点怪。程序如下:
program Measure;

uses
Forms,

face in 'face.pas' {FaceForm},
main in 'main.pas' {MainForm};
{$R *.res}

begin
Application.Initialize;
Application.CreateForm(TFaceForm, FaceForm);
FaceForm.Show;
FaceForm.Update;
Application.CreateForm(TMainForm, MainForm);
FaceForm.Hide;
FaceForm.Free;
Application.Run;
end.
这是我的启动画面程序,现在的问题是MainForm跟着启动画面FaceForm一起消失了。应该是启动画面消失后,主画面不应该消失呀,主画面是一个MDI窗口,它的Visable也是true。应该跟没有设延时时间无关吧????
 
我在做启动画面是遇见一个问题,有点怪。程序如下:
program Measure;

uses
Forms,

face in 'face.pas' {FaceForm},
main in 'main.pas' {MainForm};
{$R *.res}

begin
Application.Initialize;
Application.CreateForm(TFaceForm, FaceForm);
FaceForm.Show;
FaceForm.Update;
Application.CreateForm(TMainForm, MainForm);
FaceForm.Hide;
FaceForm.Free;
Application.Run;
end.
这是我的启动画面程序,现在的问题是MainForm跟着启动画面FaceForm一起消失了。应该是启动画面消失后,主画面不应该消失呀,主画面是一个MDI窗口,它的Visable也是true。应该跟没有设延时时间无关吧????
 
program Measure;

uses
Forms,

face in 'face.pas' {FaceForm},
main in 'main.pas' {MainForm};
{$R *.res}

begin
Application.Initialize;
FaceForm := TFaceForm.Create(Application);
FaceForm.Show;
FaceForm.Update;
Application.CreateForm(TMainForm, MainForm);
FaceForm.Hide;
FaceForm.Free;
Application.Run;
end.
 
你创建窗体的循序乱了,DELPHI默认第一个可视的窗体为主窗体,当主窗体隐藏的时候其它窗体也会隐藏的,当主窗体关闭的时候,整个程序就会关闭。应该修改如下:
begin
Application.Initialize;
Application.ShowMainForm := False;
Application.CreateForm(TMainForm, MainForm);
FaceForm := TFaceForm.Create(Application);
FaceForm.Show;
FaceForm.Update;
// FaceForm.Hide;
FaceForm.Free;
MainForm.Show;
Application.Run;
end.
 
royal1442的方法才是正确的。
Application.CreateForm(TFaceForm, FaceForm);
改为
FaceForm := TFaceForm.Create(Application);

liyinwei的方法有问题,如果主窗体很复杂,则用户点击后长时间不会看到任何东西,而启动画面会一闪而失,因为刚显示就被释放了。
 
谢谢,大家。现在好了。
 
后退
顶部