最初に DPR でスプラッシュ スクリーンを作成しますが、 Application.CreateFormメソッドを使用しないでください。簡単なコードを次に示します。
begin
  Application.Initialize;
  SplashForm := TSplashForm.Create(nil);
  try
    SplashForm.FormStyle := fsStayOnTop;
    SplashForm.Show;
    Application.ProcessMessages;
    Application.CreateForm(TForm14, Form14);
    // Other Form Creation here . . . .
    Application.Run;
  finally
    if assigned(SplashForm) then
      SplashForm.Release;
  end;
end.
次に、MainFrom (この場合は Form14) の Show イベント ハンドラー (または後で - 初期化が完了したとき) に次のコードを配置します。
SplashForm.Close;
SplashForm.Release;
SplashForm := nil;
(フォームで Free の代わりに Release を呼び出し、それを nil に割り当てて、DRP が release を再度呼び出さないようにします。DRP の release は、メインフォームの作成に失敗した場合に備えています。)
スプラッシュ フォームはFormStyle := fsStayOnTopであるため、メイン スレッドがブロックされたときにペイント メッセージが表示されないことは問題になりません。次に、メイン スレッドのブロックが解除されたら、更新メッセージを送信します (プログレス バーを変更するなど)。ただし、サード パーティのコンポーネント ベンダーに連絡して、メイン スレッドのブロックを停止するように依頼する必要があるという Gamecat の意見には同意します。
または、別のスレッドでサードパーティ コンポーネントを作成することもできます (視覚的でない場合は、少し難しくなります)。  
これは、Application.MainFormOnTaskBarを true に設定しても機能します。