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()); }