CMFCEditBrowseCtrl аварийно завершает работу, когда режим просмотра установлен на просмотр папки - PullRequest
0 голосов
/ 28 октября 2011

Я пытаюсь добавить CMFCEditBrowseCtrl в проект, который был обновлен с VC ++ 6.0. Элемент управления «Обзор» работает нормально, если для параметра «Режим просмотра» задано значение «Просмотр файла», но выдает ошибку «Ошибка отладки подтверждения ... Файл: f: \ dd \ vctools \ vc7libs \ ship \ atlmfc \ src \ mfc \ afxeditbrowsectrl.cpp Line 550», когда строка Режим просмотра установлен в режим просмотра папок.

Я также попытался оставить для элемента управления значение «Просмотр файлов» в редакторе ресурсов и установить для него значение «Просмотр папок» в коде с помощью функции EnableFolderBrowseButton (). Это вызывает ту же проблему.

Я попробовал это в простом примере приложения, и оно отлично работает, поэтому я сравнил настройки двух проектов. Единственное отличие я нахожу в командной строке C / C ++. Сбой проекта содержит запись "/ D _VC80_UPGRADE = 0x0600". Я хотел бы удалить это, чтобы видеть, является ли это причиной проблемы. Как я могу это сделать? Это причина проблемы?

Спасибо

Ответы [ 2 ]

1 голос
/ 03 апреля 2012

У меня, похоже, возникла та же проблема при вызове EnableFolderBrowseButton, и Googled нашел это решение, и оно сработало:

http://connect.microsoft.com/VisualStudio/feedback/details/483908/enablefolderbrowsebutton-assertion-failure

Я должен был поискать в Интернете немного больше, прежде чем писать снова. Вот исправление:

  1. Мне пришлось изменить приложение с CWinApp на CWinAppEx
  2. Мне пришлось вставить вызов на CWinAppEx::GetShellManager() на мой InitInstance()

Это могло бы помочь другим, если бы это было включено как что-то для проверки в HowTo, на который я ссылался.

0 голосов
/ 07 ноября 2011

Я думаю, у вас другой WINVER. Или, может быть, у вас нет манифеста для вашего exe?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...