Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > MFC/CRecentFileList


Автор: arfaa 26.1.2016, 23:35
Добрый вечер всем. У меня возник такой неприятный момент в проекте с использованием MFC. Имеется класс, наследник от CWinApp. Имеется переопределенный метод AddToRecentFileList примерно такой:
Код

MyClass::AddToRecentFileList(LPCTSTR lpszPathName)
{
 ...
 if (m_pRecentFileList != NULL)
    m_pRecentFileList->Add(lpszPathName);
 ...
}

на Windows 7 все работает нормально, но на Windows 8 и старше на строчке Add падает с ошибкой "access violation". Сейчас скажите, что нужно писать что-то типо того:
Код

MyClass::AddToRecentFileList(LPCTSTR lpszPathName)
{
 ...
 if (m_pRecentFileList != NULL)
    if(WINVER >= 0x0601)
        m_pRecentFileList->Add(lpszPathName, m_pszAppID);
    else
        m_pRecentFileList->Add(lpszPathName);
 ...
}

Пробовал, во-первых, параметр m_pszAppID пустой, а во-вторых winver не определяется. Может есть какая-то функция для Windows 8 и старше для добавления в список или есть какой-то способ, подскажите пожалуйста!!!

Автор: feodorv 27.1.2016, 10:45
Гляньте на http://www.codeproject.com/Questions/231741/Debug-Assertion-Error-Visual-Studio, может, может)))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)