#define ERR_AND_RETURN(msg) CDlgMsgBox dlg( _T("错误提示"), _T(msg), IDR_MAINFRAME );\
g_pMsgBox = (CWnd*)&dlg;\
dlg.DoModal();\
g_pMsgBox = NULL;\
return FALSE
始终报dlg未定义,这是为什么
g_pMsgBox = (CWnd*)&dlg;\
dlg.DoModal();\
g_pMsgBox = NULL;\
return FALSE
始终报dlg未定义,这是为什么
凭空冒出这两个东西,系统当然不认
在调用 ERR_AND_RETURN(msg)的地方替换成:
CDlgMsgBox dlg( _T("错误提示"), _T(msg), IDR_MAINFRAME );
g_pMsgBox = (CWnd*)&dlg;
dlg.DoModal();
g_pMsgBox = NULL;
return FALSE;
看看....
#define ERR_AND_RETURN(msg) { CDlgMsgBox dlg( _T("错误提示"), _T(msg), IDR_MAINFRAME );\
g_pMsgBox = (CWnd*)&dlg;\
dlg.DoModal();\
g_pMsgBox = NULL;\
return FALSE; }
要加大括号,否则在同一个作用域用两次以上ERR_AND_RETURN(msg)会出现dlg重复定义的。