c # — Подавить окно сообщения R6025 Чистый вызов виртуальной функции

Я разрабатываю .NET 4 Заявка (WPF) который использует старый C++-Library,
Эта библиотека глючит, и иногда я получаю чисто виртуальные вызовы функций. (И я ничего не могу поделать с этой библиотекой …)

Я настроил обработчик с помощью _set_purecall_handler от msvcr100.dll, Во время отладки я также могу подтвердить, что мой обработчик вызван.
После выхода из моего обработчика приложения показывает MessageBox информирование о чистом вызове виртуальной функции и последующем выходе из приложения.

Как я могу предотвратить это messagebox от показа и продолжения работы приложения?

-1

Решение

Поскольку нет способа безопасного восстановления после вызова чисто виртуальной функции, ожидается, что обработчик purecall завершит процесс после сообщения об ошибке пользователю. Если ваш обработчик возвращается вместо завершения, то предполагается, что он ничего не сделал, и обработка по умолчанию запускается.

Просто позвони exit(0) или аналогичный в конце вашего обработчика, и исходное диалоговое окно будет подавлено.

0

Другие решения


По вопросам рекламы [email protected]