//--------------------------------------------------------------------------- #include #include "Common.h" #pragma hdrstop //#define thread #define not_thread #include "FileManager_F.h" #include "FileManager_wating_F.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" #define IDS_LOADING StringTable[0] #define IDS_WAITING StringTable[1] #define IDS_CANCEL StringTable[2] TFileManagerWaitingForm *FileManagerWaitingForm; bool close_flag = false; //--------------------------------------------------------------------------- __fastcall TFileManagerWaitingForm::TFileManagerWaitingForm(TComponent* Owner) : TForm(Owner) { StringTable.Create(DirectoryBin, Language, "FileManagerwaiting"); SetSmallFont(Font); // FFilterIndex = FilterComboBox->ItemIndex; Label1->Caption = IDS_LOADING; Label2->Caption = IDS_WAITING; Button1->Caption = IDS_CANCEL; Left = FileManagerForm->Left + 300; Top = FileManagerForm->Top + 200; ClientWidth = 160; ClientHeight = 130; Panel1->Top = 0; } //--------------------------------------------------------------------------- __fastcall TInitDataThread::TInitDataThread(bool CreateSuspended) : TThread(CreateSuspended) { Priority = tpIdle; } //--------------------------------------------------------------------------- void __fastcall TInitDataThread::Execute() { #ifdef thread FileManagerForm->InitLargeData(false); FileManagerWaitingForm->Close(); #endif } //--------------------------------------------------------------------------- void __fastcall TFileManagerWaitingForm::FormClose(TObject *Sender, TCloseAction &Action) { #ifdef thread InitDataThread->Terminate(); delete InitDataThread; #endif FileManagerForm->SetViewFlag(true); } //--------------------------------------------------------------------------- void __fastcall TFileManagerWaitingForm::Button1Click(TObject *Sender) { FileManagerForm->SetViewFlag(false); //Panel1->Top = 130; //Panel2->Top = 0; } //--------------------------------------------------------------------------- void __fastcall TFileManagerWaitingForm::FormActivate(TObject *Sender) { #ifdef thread InitDataThread = new TInitDataThread(false); #endif #ifdef not_thread FileManagerForm->InitLargeData(false); close_flag = true; #endif } //--------------------------------------------------------------------------- void __fastcall TFileManagerWaitingForm::Timer1Timer(TObject *Sender) { #ifdef not_thread if(close_flag) Close(); #endif } //---------------------------------------------------------------------------