가능한 중복 : Show a splash screen while a database connection (that might take a long time) runs코드를 초기화하는 가장 좋은 장소는 어느 것입니까?
로드 INI 파일과 같은 코드를 초기화하는 가장 좋은 장소입니다
Splash Screen Programatically
? 먼저 화면에 양식을 표시하여 사용자가 응용 프로그램이로드 중이고 LoadIniFile 또는 IsConnectedToInternet과 같은 긴 함수를 호출해야한다는 것을 알 수 있도록합니다. 마지막은 정말 느립니다.
양식이 아직 준비되지 않았으므로 화면에 표시되지 않으므로 OnCreate가 좋지 않습니다.
나는이 I의 조선 민주주의 인민 공화국을하지만 항상 작동하지 : LateInitialize (4-5 초) 실행될 때까지
program Test;
begin
Application.Initialize;
Application.Title := 'Test app';
Application.CreateForm(TfrmTest, frmTest);
frmTest.Show; <---------------------- won't show
LateInitialize;
Application.Run;
end.
양식이 표시되지 않습니다.
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
음, 그렇습니다. 그것은 큰 녹색 체크 표시와 3 개의 upvotes가있는 [right here] (http://stackoverflow.com/a/3359841/62576)입니다. 그리고 네, 그들은 같은 주제에 있습니다. 그래서 귀하의 질문입니다, 그래서 나는 그것을 [duplicate] (http://dictionary.reference.com/browse/duplicate)로 표시했습니다. –
그들이 정확히 같은 주제에 있다면, 당신의 입장에서이 질문과 정확히 중복됩니다. 그들이 대답을 받아들 였는지 여부는 중요하지 않습니다. "중복"은 질문의 속성으로 어떤 답변이든지간에 완전히 독립적입니다. 그러나 * Ken *이 연결된 질문 모두가 답변을 수락했습니다. 이미 여기에서 질문을 받았고 상황에 적절한 대답이없는 경우 사람들이 대답 할 수 있도록 해당 질문에주의를 환기시키는 방법이 있습니다. 중복 된 질문을하는 것은 그 중 하나 일뿐입니다. –