ThreadLoadFiles


SUBMITTED BY: Guest

DATE: June 26, 2014, 1:50 p.m.

FORMAT: C++

SIZE: 1.3 kB

HITS: 1101

  1. typedef struct
  2. {
  3. std::vector<CString> files;
  4. CDataController* pDataControler;
  5. CMainFrame* pParent;
  6. } ThreadLoadFilesData;
  7. UINT ThreadLoadFiles( LPVOID pParam )
  8. {
  9. CoInitialize(NULL);
  10. theApp.GetCrashHandler().SetThreadExceptionHandlers();
  11. ThreadLoadFilesData* pData = (ThreadLoadFilesData*) pParam;
  12. if ( pData )
  13. {
  14. CDataController* pDataControler = pData->pDataControler;
  15. if ( pData->pParent )
  16. pData->pParent->PostMessage(MSG_UPDATE_PROGRESS_BAR, (WPARAM) 0);
  17. if ( pDataControler && pData->files.size() > 0 )
  18. {
  19. for ( int i = 0; i < pData->files.size(); i++ )
  20. {
  21. pDataControler->LoadStripXml(pData->files[i]);
  22. if ( pData->pParent )
  23. {
  24. int nPos = (100. / (double) pData->files.size()) * ( i + 1 );
  25. pData->pParent->PostMessage(MSG_UPDATE_PROGRESS_BAR, (WPARAM) nPos);
  26. }
  27. }
  28. pDataControler->SetActiveStripIndex(pDataControler->GetStripCount() - 1);
  29. }
  30. if ( pData->pParent )
  31. {
  32. pData->pParent->PostMessage(MSG_UPDATE_PROGRESS_BAR, (WPARAM) 0);
  33. pData->pParent->PostMessage(MSG_UPDATE_VIEWS);
  34. }
  35. }
  36. delete pData;
  37. return 0;
  38. }

comments powered by Disqus