VC ++ RC Ошибка загрузки / сохранения файла в Visual Studio при добавлении свойства к существующим классам - PullRequest
0 голосов
/ 05 сентября 2018

У нас есть существующий проект с большим количеством базовых элементов управления ATL, у которых есть существующие страницы свойств. Они используются для создания различных диалогов, встроенных в приложение. Все они были изначально разработаны в Visual Studio 200x на XP. Сейчас мы используем Visual Studio 2013 для Windows 8.1.

Нам нужно добавить новое свойство для большинства существующих классов, простую задачу и задачу, которую легко выполнить. Однако после добавления свойства (не важно, к какому классу или классам) загрузка диалога, содержащего этот элемент управления, приводит к предупреждению Visual Studio «Элемент управления xxx не может перезагрузиться - это состояние из данных, сохраненных в последний раз, когда диалоговое окно редактор был использован ". Это достаточно справедливо .. мы добавили дополнительное свойство.

Если диалоговое окно затем сохраняется, независимо от того, изменили ли мы новое свойство или нет, а затем скомпилировали, все выглядит хорошо до запуска приложения. Затем он генерирует исключение MFC при загрузке ресурса.

Сравнение модифицированного rc-файла с немодифицированным rc-файлом показывает, что в него были добавлены данные, соответствующие новому свойству, измененные данные в другом месте файла, а в некоторых случаях, очевидно, были потеряны некоторые данные.

Мне пока не удалось найти нигде ресурса, который

a) объясняет расположение и функцию блока данных для элемента управления в файле rc vis: -

IDC_FCBTOOLCTRLS21, 0x376, 34, 0 0x0000, 0x0000, 0x0900, 0x0000, 0x3bd7, 0x0000, 0x0a8b, 0x0000, 0x0008, 0x000c, 0x0000, 0x0047, 0x0072, 0x0069, 0x0064, 0x0073, 0x0000,

б) объясняет, что делает Visual Studio при загрузке / сохранении файла ресурса

в) позволяет мне отлаживать процесс загрузки / сохранения, чтобы я мог определить, что идет не так

d) объясняет, как элементы свойства относятся к файлу rc.

д) проливает свет на то, что может пойти не так

Любая помощь в решении этой проблемы будет принята

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