Index: src/ch/ClipboardMonitor.cpp =================================================================== diff -u -N -r1d8d51e0dd4d8ebcf0bd457d01fab984585220c0 -r9479911a096555a7504c5c8a8eaee83ecb63440c --- src/ch/ClipboardMonitor.cpp (.../ClipboardMonitor.cpp) (revision 1d8d51e0dd4d8ebcf0bd457d01fab984585220c0) +++ src/ch/ClipboardMonitor.cpp (.../ClipboardMonitor.cpp) (revision 9479911a096555a7504c5c8a8eaee83ecb63440c) @@ -29,6 +29,8 @@ #include "FolderDialog.h" #include "ShutdownDlg.h" +using namespace chcore; + CClipboardMonitor CClipboardMonitor::S_ClipboardMonitor; CClipboardMonitor::CClipboardMonitor() @@ -181,13 +183,30 @@ chcore::SetTaskPropValue(tTaskDefinition.GetConfiguration(), GetResManager().LoadString(IDS_FIRSTCOPY_STRING)); chcore::SetTaskPropValue(tTaskDefinition.GetConfiguration(), GetResManager().LoadString(IDS_NEXTCOPY_STRING)); - chcore::TTaskPtr spTask = pData->m_pTasks->CreateTask(tTaskDefinition); + CString strMessage; + try + { + chcore::TTaskPtr spTask = pData->m_pTasks->CreateTask(tTaskDefinition); - // write spTask to a file - spTask->Store(); + // write spTask to a file + spTask->Store(); - // start processing - spTask->BeginProcessing(); + // start processing + spTask->BeginProcessing(); + } + catch(const std::exception& e) + { + strMessage = e.what(); + } + + if(!strMessage.IsEmpty()) + { + ictranslate::CFormat fmt; + + fmt.SetFormat(GetResManager().LoadString(IDS_TASK_CREATE_FAILED)); + fmt.SetParam(_T("%reason"), strMessage); + AfxMessageBox(fmt, MB_OK | MB_ICONERROR); + } } }