перенос проекта из VS2008 в VS2013 - PullRequest
0 голосов
/ 30 апреля 2020

Я мигрирую проект с VS2008 на VS2013. В настоящее время столкнулся с проблемой при запуске приложения. Там написано:

**Debug assertion failed**
Program C:\Windows\SYSTEM32\mfc120d.dll
FILE: f:\dd\vctools\vclibs\ship\atlmfc\src\mfc\doctempl.cpp
LINE: 25

Это место в коде, которое становится проблемой:

cpFormDefDocTemplate = new CMultiDocTemplate(
        MAIDR_MAINFRAME,
        RUNTIME_CLASS(EHF_ManagerDoc),
        RUNTIME_CLASS(EHF_ManagerChildFrame),       // main SDI frame window
        RUNTIME_CLASS(EHF_ManagerView));

Я не уверен, как это сделать go. Требуется помощь. Заранее спасибо.

1 Ответ

0 голосов
/ 30 апреля 2020

Когда вы говорите «Я проверил код», каково действительное утверждение ASSERT? Это определенно не тот код, который вы используете в своем сообщении. Показать код ЭТО (код, в котором находится оператор ASSERT).

Например, вот код из VS2008, и я выделил строку 25 (VS2013, вероятно, похож, но не точен):

enter image description here

Это код, который вам нужно посмотреть. Ваш код - это ваш CTOR, который неявно связан с этим MF C ctor, который вызывает ASSERT. Ваш Do c, Frame или View неправильно портирован. Специфический c ASSERT скажет вам, какой из них (на самом деле это могут быть все 3, и это пока просто ASSERT для первого).

...