Здравствуйте, SаNNy, Вы писали:
SNN>Здравствуйте, TOPAZ23, Вы писали:
TOP>>Добрый вечер всем. У меня возник такой неприятный момент в проекте с использованием MFC. Имеется класс, наследник от CWinApp. Имеется переопределенный метод AddToRecentFileList примерно такой:
TOP>>TOP>>MyClass::AddToRecentFileList(LPCTSTR lpszPathName)
TOP>>{
TOP>> ...
TOP>> if (m_pRecentFileList != NULL)
TOP>> m_pRecentFileList->Add(lpszPathName);
TOP>> ...
TOP>>}
TOP>>
TOP>>на Windows 7 все работает нормально, но на Windows 8 и старше на строчке Add падает с ошибкой "access violation". Сейчас скажите, что нужно писать что-то типо того:
TOP>>TOP>>MyClass::AddToRecentFileList(LPCTSTR lpszPathName)
TOP>>{
TOP>> ...
TOP>> if (m_pRecentFileList != NULL)
TOP>> if(WINVER >= 0x0601)
TOP>> m_pRecentFileList->Add(lpszPathName, m_pszAppID);
TOP>> else
TOP>> m_pRecentFileList->Add(lpszPathName);
TOP>> ...
TOP>>}
TOP>>
TOP>>Пробовал, во-первых, параметр m_pszAppID пустой, а во-вторых winver не определяется. Может есть какая-то функция для Windows 8 и старше для добавления в список или есть какой-то способ, подскажите пожалуйста!!!
SNN>Версию Windows надо определять с помощью IsWindows8OrGreater
Спасибо конечно,но версию я могу определять и другими способами,тут вопросов нет, меня больше интересует что делать с функцией Add,если она валится, а m_pszAppID = "". Я не знаю нормальное это значение или нет. Повторюсь,меня интересует в большей степени функция Add для Windows 8 и старше.