Можно создать дубликат:
Splash Screen Programatically
Show a splash screen while a database connection (that might take a long time) runsКакое место лучше всего инициализировать?
Что является лучшим местом для инициализации коды, такой как загрузка INI-файл? Сначала я хочу показать форму на экране, чтобы пользователь знал, что приложение загружается, и ТОЛЬКО после этого я хочу вызвать длительные функции, такие как LoadIniFile или IsConnectedToInternet (последний из них ДЕЙСТВИТЕЛЬНО медленный).
The OnCreate не является хорошим, потому что форма еще не готова, и она не появится на экране.
я делаю это я DPR, но не работает всегда:
program Test;
begin
Application.Initialize;
Application.Title := 'Test app';
Application.CreateForm(TfrmTest, frmTest);
frmTest.Show; <---------------------- won't show
LateInitialize;
Application.Run;
end.
форма не будет отображаться до тех пор, LateInitialize (4-5 секунд) не выполняется.
procedure LateInitialize;
begin
CursorBussy;
TRY
// all this won't work also. the form won't show
frmTest.Visible:= TRUE;
Application.ProcessMessages;
frmTest.Show;
Application.ProcessMessages;
frmTest.BringToFront;
frmTest.Update;
Application.ProcessMessages;
DoSomethingLengthy; {4-5 seconds}
FINALLY
CursorNotBussy;
END;
end; <--------- Now the form shows.
И да, frmTest это моя единственная форма (основная форма).
Эти сообщения не имеют принятого ответа, и они ТОЧНО на ту же тему. – Ampere
Ум, да. Это [прямо здесь] (http://stackoverflow.com/a/3359841/62576) - тот, у которого есть большая зеленая галочка и три надписи. И да, они на одной теме. Итак, ваш вопрос, поэтому я отметил его как [дубликат] (http://dictionary.reference.com/browse/duplicate). –
Если они точно соответствуют одному и тому же вопросу, то они являются точными дубликатами этого вопроса по собственному признанию. Неважно, принимали ли они ответы. «Дубликат» является свойством вопроса, полностью независимым от любых ответов, которые могут быть. Тем не менее, * оба вопроса связаны с ответами Кен. Если у вас есть вопросы, которые уже заданы здесь, и у них нет подходящих ответов на вашу ситуацию, тогда есть способы привлечь внимание к этим вопросам, чтобы люди ответили на них. Задавать двойной вопрос - это один из способов. –