Index: src/ch/FeedbackFileErrorDlg.cpp =================================================================== diff -u -N -r671f4b1792a20d98b186f4e0a9cc6a620dede019 -r387751793d274e49253e796ca7cec4f3d0cf07a9 --- src/ch/FeedbackFileErrorDlg.cpp (.../FeedbackFileErrorDlg.cpp) (revision 671f4b1792a20d98b186f4e0a9cc6a620dede019) +++ src/ch/FeedbackFileErrorDlg.cpp (.../FeedbackFileErrorDlg.cpp) (revision 387751793d274e49253e796ca7cec4f3d0cf07a9) @@ -6,6 +6,7 @@ #include "../libchcore/TFileInfo.h" #include "FeedbackFileErrorDlg.h" #include "FeedbackHandler.h" +#include "../libchcore/TWin32ErrorFormatter.h" // CFeedbackFileErrorDlg dialog @@ -18,7 +19,6 @@ m_strDstPath(pszDstPath), m_ulSysError(ulSysError) { - } CFeedbackFileErrorDlg::~CFeedbackFileErrorDlg() @@ -64,18 +64,12 @@ strFmt += rResManager.LoadString(IDS_INFO_REASON_STRING); // get system error string - TCHAR szSystem[1024]; - DWORD dwPos=FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, m_ulSysError, 0, szSystem, 1023, NULL); - szSystem[1023] = _T('\0'); + chcore::TString strError = chcore::TWin32ErrorFormatter::FormatWin32ErrorCode(m_ulSysError, true); - // get rid of \r\n at the end of szSystem - while(--dwPos && (szSystem[dwPos] == 0x0a || szSystem[dwPos] == 0x0d)) - szSystem[dwPos]=_T('\0'); - ictranslate::CFormat fmt(strFmt); fmt.SetParam(_t("%filename"), m_strSrcPath); fmt.SetParam(_t("%dstfilename"), m_strDstPath); - fmt.SetParam(_t("%reason"), szSystem); + fmt.SetParam(_t("%reason"), strError.c_str()); m_ctlErrorInfo.SetWindowText(fmt);