CXX0030: Ошибка: выражение не может быть оценено
Я определил фильтр для FileDialog в моей функции, и он бросает это <Badptr> CXX0030: Error: expression cannot be evaluated
при оценке этого фильтра: Text (*.txt) | *.txt | All (*.*) | *.* ||
Для этого случая любой фильтр, который я использую там, я получаю эту ошибку. В результате, когда открывается окно FileDialog, я не вижу в нем никаких файлов, а только папки. Вот функция, которую я использовал для кнопки "Обзор", которая связана с этим FileDialog.
void CPhaseDlg::OnPhasebrowse()
{
CFileDialog dlg(TRUE, "*.txt",PhaseFileName, OFN_OVERWRITEPROMPT,"Text (*.txt) | *.txt | All (*.*) | *.* ||", NULL);
if (dlg.DoModal() == IDOK)
{
PhaseFileName = dlg.GetPathName();
pDoc->PhaseList.Load(PhaseFileName);
SetData(0);
SetnPhases();
UpdateData(FALSE);
}
}
Дайте мне знать, если я что-то здесь упускаю. Этот проект был изначально разработан в VC++ 2005
сейчас я бегу в VC++ 2008
, Позвольте мне также, если есть какие-либо проблемы с совместимостью?
Есть еще один метод, который на самом деле работает нормально и похож на этот
UINT CCalcDlg::DoBrowse(CString &name)
{
UINT ret;
UpdateData();
CFileDialog dlg(FALSE, "*.csv", name, OFN_OVERWRITEPROMPT,"CSV (*.csv)|*.csv|All (*.*)|*.*||" , NULL);
if ((ret = dlg.DoModal()) == IDOK)
{
name = dlg.GetPathName();
UpdateData(FALSE);
}
return ret;
}
Я видел вопросы с похожими ошибками здесь, но каждый вопрос совершенно другой. Надеюсь, кто-нибудь может помочь мне с этим.