lcl: fixed TApplication.CreateForm for splashform

This commit is contained in:
mattias 2023-09-06 16:17:49 +02:00
parent a7e90edd46
commit 872608c382

View File

@ -2247,29 +2247,31 @@ begin
if (FCreatingForm=nil) and (Instance is TForm) then if (FCreatingForm=nil) and (Instance is TForm) then
FCreatingForm:=TForm(Instance); FCreatingForm:=TForm(Instance);
Instance.Create(Self); Instance.Create(Self);
if (Instance is TForm) then
begin
AForm := TForm(Instance);
UpdateMainForm(AForm);
if FMainForm = AForm then
AForm.HandleNeeded;
if AForm.FormStyle = fsSplash then
begin
// show the splash form and handle the paint message
AForm.Show;
AForm.Invalidate;
ProcessMessages;
end;
end;
ok:=true; ok:=true;
finally finally
if not ok then begin if not ok then begin
TComponent(Reference) := nil; TComponent(Reference) := nil;
if FCreatingForm=Instance then
FCreatingForm:=nil;
end; end;
if FCreatingForm=Instance then
FCreatingForm:=nil;
end; end;
if (Instance is TForm) then
begin
AForm := TForm(Instance);
UpdateMainForm(AForm);
if FMainForm = AForm then
AForm.HandleNeeded;
if AForm.FormStyle = fsSplash then
begin
// show the splash form and handle the paint message
AForm.Show;
AForm.Invalidate;
ProcessMessages;
end;
end;
{$IFDEF AfterConstructionDataModuleNotWorking} {$IFDEF AfterConstructionDataModuleNotWorking}
if (Instance is TDataModule) then if (Instance is TDataModule) then
begin begin