Builder Example
В каталдоге Examples/DBTasks/MastApp пакета Borland C++ 5.0 рассматривается работа SplashScreen. Как в этом SplashScreen организована задержка (время видимости формы)?
И главного C++ файла (он не содержит формы),
но создаёт динамически другие формы. Сам файл называется
MASTAPP.CPP
Вот главный код от туда.
try
{
SplashForm = new TSplashForm(Application);
SplashForm->Show();
SplashForm->Update();
Application->Initialize();
Application->Title = "Marine Adventures Order Entry";
Application->HelpFile = "Mastapp.hlp";
Application->CreateForm(__classid(TMainForm), &MainForm);
Application->CreateForm(__classid(TMastData), &MastData);
Application->CreateForm(__classid(TAboutBox), &AboutBox);
Application->CreateForm(__classid(TQueryCustDlg), &QueryCustDlg);
Application->CreateForm(__classid(TBrPartsForm), &BrPartsForm);
Application->CreateForm(__classid(TBrCustOrdForm), &BrCustOrdForm);
Application->CreateForm(__classid(TEdCustForm), &EdCustForm);
Application->CreateForm(__classid(TBrDateForm), &BrDateForm);
Application->CreateForm(__classid(TSearchDlg), &SearchDlg);
Application->CreateForm(__classid(TEdPartsForm), &EdPartsForm);
Application->CreateForm(__classid(TEdOrderForm), &EdOrderForm);
Application->CreateForm(__classid(TPickRpt), &PickRpt);
Application->CreateForm(__classid(TPickOrderNoDlg), &PickOrderNoDlg);
Application->CreateForm(__classid(TInvoiceByOrderNoReport), &InvoiceByOrderNoReport);
Application->CreateForm(__classid(TCustomerByInvoiceReport), &CustomerByInvoiceReport);
Application->CreateForm(__classid(TOrdersByDateReport), &OrdersByDateReport);
SplashForm->Hide();
SplashForm->Close();
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
return 0;
Сам видешь, что создания приложения начинается с создания формы с корабликом и надписью Loading (это которая slash.cpp). Пока
эта форма висит. Создаются другие формы. А после их создания эта форма прячется и закрывается
(код в самом конце)
SplashForm->Hide();
SplashForm->Close();
------------------------------------------
И пускается всё приложение код:
Application->Run();
Вот почему у пользователя создаётся иллюзия , что-есть какая-то задержка.-)
Но ты можешь включить задержку сам,
перед функциями:
SplashForm->Hide();
SplashForm->Close();
//------------------------------------------