我将应用程序从VS2008升级到VS2015。
我得到一个异常,我假设是从
触发的/*virtual*/ BOOL CMyAppDoc::SaveModified()
{
if (!IsModified())
return TRUE; // nothing to do
CString str = GetPathName();
SetPathName(str, TRUE); // assign a PathName and add to MRU !
return OnSaveDocument(str);
}
ErrorBox显示:“遇到了一个不正确的参数”。
答案 0 :(得分:1)
我进一步调查,错误来自
void CRecentFileList::Add(LPCTSTR lpszPathName, LPCTSTR lpszAppID)
{
..
hr = _AfxSHCreateItemFromParsingName(lpWPath, NULL, IID_IShellItem,LPVOID*)&psi);
ENSURE(SUCCEEDED(hr));
..
}
hr错误代码为2,表示ERROR_FILE_NOT_FOUND:系统找不到指定的文件。
解决方法是先用OnSaveDocument(..)保存文件,然后调用SetPathName(..)