示例#1
0
 private void CoreThreadTask()
 {
     m_startDateTime = DateTime.Now;
     m_coreOptions.Set(m_core, m_options.onePath);
     m_state = State.ClearResults;
     m_core.Clear(CoreDll.FileType.Result);
     m_state = State.ClearTemporary;
     m_core.Clear(CoreDll.FileType.Temporary);
     if (m_options.useImageDataBase)
     {
         m_state = State.LoadImages;
         m_core.Load(CoreDll.FileType.ImageDataBase, m_coreOptions.GetImageDataBasePath(), false);
     }
     m_state = State.Search;
     m_core.Search();
     m_state = State.SetGroup;
     m_core.ApplyToResult(CoreDll.GlobalActionType.SetGroup);
     m_state = State.SetHint;
     m_core.ApplyToResult(CoreDll.GlobalActionType.SetHint);
     if (m_options.useImageDataBase)
     {
         m_state = State.SaveImages;
         m_core.Save(CoreDll.FileType.ImageDataBase, m_coreOptions.GetImageDataBasePath());
     }
     m_core.Clear(CoreDll.FileType.ImageDataBase);
     m_core.SortResult((CoreDll.SortType)m_options.resultsOptions.sortTypeDefault, m_options.resultsOptions.increasingDefault);
     m_state = State.Finish;
     LogPerformance(DateTime.Now - m_startDateTime, m_core.GetStatistic());
 }