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;                           
}   

Я видел вопросы с похожими ошибками здесь, но каждый вопрос совершенно другой. Надеюсь, кто-нибудь может помочь мне с этим.

0 ответов

Другие вопросы по тегам