| Как сделать начальный SplashScreen для большого приложения [сообщение #2667] | 
			Fri, 30 June 2023 00:14   | 
		 
		
			
				
				
				
					
						  
						GrigoryFomin
						 Сообщений: 91 Зарегистрирован: April 2023 
						
					 | 
					Member  | 
					 | 
		 
		 
	 | 
 
	| 
		Имеется Delphi приложение, где-то 60МБ, оно запускается по сети. Пользователь его запустил - и ждет несколько секунд, пока появится первая форма. Можно как-то обозначить, что приложение начало загружаться, показать какое-то окно, и спрятать его, как все приложение скачается по сети и запуститься? Понимаю, что можно лоадер написать, который покажет окно, дождется запуска приложения и окно скроет, но может есть более красивое решение?
		
		
		
 |  
	| 
		
	 | 
 
 
 | 
	| 
		
 | 
	| 
		
 | 
	
		
		
			| Re: Как сделать начальный SplashScreen для большого приложения [сообщение #2684 является ответом на сообщение #2676] | 
			Fri, 30 June 2023 19:53    | 
		 
		
			
				
				
				
					
						  
						GrigoryFomin
						 Сообщений: 91 Зарегистрирован: April 2023 
						
					 | 
					Member  | 
					 | 
		 
		 
	 | 
 
	
		МП писал(а) Fri, 30 June 2023 14:43сильно подозреваю, что формы создаются автоматом. 
покажи текст DPR. 
{$R *.res}
begin
  Application.Initialize;
//      TfmSplashScreen.BeginLoading;
  Application.CreateForm(TDM, DM);
  Application.CreateForm(TdmRep, dmRep);
//  Application.MainFormOnTaskbar := True;
  if not DM.connect2DB then exit;
//      TfmSplashScreen.EndLoading;
  case dm.Login2system of
    -1:exit;
    0:MsgError('Неверный пароль');
    1:begin
      Application.CreateForm(TwhMainForm, whMainForm);
      Application.Run;
    end;
  end;
end. 
		
		
		[Обновления: Fri, 30 June 2023 19:53] Известить модератора  
 |  
	| 
		
	 | 
 
 
 | 
	| 
		
 | 
	
		
		
			| Re: Как сделать начальный SplashScreen для большого приложения [сообщение #2697 является ответом на сообщение #2692] | 
			Tue, 04 July 2023 19:01    | 
		 
		
			
				
				
				
					
						  
						shalamyansky
						 Сообщений: 150 Зарегистрирован: August 2022 
						
					 | 
					Senior Member  | 
					 | 
		 
		 
	 | 
 
	
		Цикл выборки и обработки сообщений спрятан в Application.Run. Попытки отрисовки чего-либо до его запуска не то, чтобы невозможны, но требуют хорошего понимания происходящего. Тут либо принуждать окно силой делать Paint, либо обрабатывать сообщения посредством ProcessMessages, либо еще какой фокус. В приведенном коде ничего на экране до момента Application.Run появиться не может. 
		
		
		[Обновления: Tue, 04 July 2023 19:04] Известить модератора  
 |  
	| 
		
	 | 
 
 
 | 
	| 
		
 | 
	| 
		
 | 
	| 
		
 | 
	| 
		
 | 
	| 
		
 | 
	| 
		
 | 
	| 
		
 | 
	| 
		
 | 
	| 
		
 | 
	| 
		
 | 
	| 
		
 | 
	| 
		
 | 
	| 
		
 | 
	| 
		
 |