Я переносу в Visio 2016 элемент управления рисованием из Visio 2010. Когда я сохраняю новый файл как .vsd вне основного приложения Visio, это вызывает исключение. Однако файл сохраняется в указанном месте. Я сохраняю файл как .vsd для обратной совместимости. Это может повлиять на перезагрузку / открытие того же нового файла, и это вызывает исключение. Приведенный ниже фрагмент хорошо работает с Visio 2010.
BOOL Doc::SaveAs(vbPath)
{
success = TRUE;
if (!SUCCEEDED(CVisioDocument::SaveAsEx(vbPath, visSaveAsWS))) //SaveAsEx return 0
{
success = FALSE;
}
// Now do a save to get the drawing on the Most Recently Used list
short saveRc=0;
if (!SUCCEEDED(CVisioDocument::Save(&saveRc))) //Get exception here in Save method
ASSERT(0);
return success;
}
CVisioDocument :: SaveAsEx (vbPath, visSaveAsWS) возвращает «0». Это означает, что успешно сохранен новый документ. Но после того, как я попробую, CVisioDocument :: Save (& saveR c) выдает исключение, потому что, пока документ не был сохранен, метод Save генерирует ошибку. С другой стороны, я могу сохранить новый документ в основном приложении Visio без каких-либо исключений. Этот файл открывается в основном приложении Visio.
Итак, можете ли вы помочь с тем, как мне избавиться от вышеуказанной проблемы?
Я обнаружил, что у кого-то есть аналогичная проблема в Visio. 2013, http://visguy.com/vgforum/index.php?topic=4819.0