diff --git a/app/ExtractOptionsDialog.cpp b/app/ExtractOptionsDialog.cpp index 3ecf95d..2cf93a4 100644 --- a/app/ExtractOptionsDialog.cpp +++ b/app/ExtractOptionsDialog.cpp @@ -90,12 +90,7 @@ void ExtractOptionsDialog::DoDataExchange(CDataExchange* pDX) if (pDX->m_bSaveAndValidate) { if (!fIncludeDataForks && !fIncludeRsrcForks && !fIncludeDiskImages) { - CString appName, errMsg; - - CheckedLoadString(&appName, IDS_MB_APP_NAME); - - CheckedLoadString(&errMsg, IDS_NO_FORKS_SPECIFIED); - MessageBox(errMsg, appName, MB_OK); + ShowFailureMsg(this, IDS_NO_FORKS_SPECIFIED, IDS_MB_APP_NAME); pDX->Fail(); return; } diff --git a/util/Util.cpp b/util/Util.cpp index cd580f0..5f96087 100644 --- a/util/Util.cpp +++ b/util/Util.cpp @@ -388,12 +388,22 @@ void GetWin32ErrorString(DWORD err, CString* pStr) void ShowFailureMsg(CWnd* pWnd, const CString& msg, int titleStrID) { - CString failed; + CString title; - CheckedLoadString(&failed, titleStrID); - pWnd->MessageBox(msg, failed, MB_OK | MB_ICONERROR); + CheckedLoadString(&title, titleStrID); + pWnd->MessageBox(msg, title, MB_OK | MB_ICONERROR); } +void ShowFailureMsg(CWnd* pWnd, int msgId, int titleStrID) +{ + CString msg, title; + + CheckedLoadString(&title, titleStrID); + CheckedLoadString(&msg, msgId); + pWnd->MessageBox(msg, title, MB_OK | MB_ICONERROR); +} + + bool IsWin9x(void) { OSVERSIONINFO osvers; diff --git a/util/Util.h b/util/Util.h index b6ea851..0c5c060 100644 --- a/util/Util.h +++ b/util/Util.h @@ -181,6 +181,12 @@ void GetWin32ErrorString(DWORD err, CString* pStr); */ void ShowFailureMsg(CWnd* pWnd, const CString& msg, int titleStrID); +/* + * Post a failure message in a message box. + */ +void ShowFailureMsg(CWnd* pWnd, int msgId, int titleStrID); + + /* * Returns "true" if we're running on Win9x (Win95, Win98, WinME), "false" * if not (could be WinNT/2K/XP or even Win31 with Win32s).