先把相关代码贴下。
- C/C++ code
ADOQuery1->Close(); ADOQuery1->SQL->Text = "select * from simu where Time>"+s+" and ID>2"; ADOQuery1->Open(); while(!ADOQuery1->Eof) { a=ADOQuery1->FieldByName("Num")->AsString; n = StrToInt(a); if(n == 2){ TGIFImage *DemoGif = new TGIFImage(); DemoGif-> LoadFromFile( "D:\\1.gif "); Image2-> Picture-> Graphic = DemoGif; DoubleBuffered = true; } else if(n == 3){ TGIFImage *DemoGif = new TGIFImage(); DemoGif-> LoadFromFile( "D:\\1.gif "); Image3-> Picture-> Graphic = DemoGif; DoubleBuffered = true; } else{ TGIFImage *DemoGif = new TGIFImage(); DemoGif-> LoadFromFile( "D:\\1.gif "); Image1-> Picture-> Graphic = DemoGif; DoubleBuffered = true; } ADOQuery1->Next(); }
本意就是检索数据库,根据数字,在不同位置按顺序播放GIF,但实际效果却是最后统一播放GIF,体现不出顺序差别来,就算在某一点设置完GIF后,添加Sleep()函数,也是在最后统一播放,这个怎么解决?
------解决方案--------------------
不用sleep,用application->processmessage试试