splash 窗体的使用
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TForm2 *splash = new TForm2(Application);
splash->Show();
splash->Update();
splash->ShockwaveFlash1->Movie = "D:\\25.swf";
splash->Update();
Sleep(5000);////////////////////////////
splash->Close();
}
程序在Sleep(5000);的部分有一段代码,时间较长,有5秒钟左右,所以就调用TForm2来完成中间等待过程,并播放一个Flash
但是,直到这个splash窗体关闭,这个falsh也没有播放,请大家帮我想想办法!谢谢了
[解决办法]
Sleep占用主线程。将
Sleep(5000);////////////////////////////
换成:
DWORD dwTick = ::GetTickCount();while (::GetTickCount() - dwTick < 5000) Application->ProcessMessages();
[解决办法]
这个5s的其它事如果和界面关系不大的话,可以考虑开辟独立的线程去做。
[解决办法]
得用线程技术呀