Я разрабатываю .NET 4
Заявка (WPF
) который использует старый C++-Library
,
Эта библиотека глючит, и иногда я получаю чисто виртуальные вызовы функций. (И я ничего не могу поделать с этой библиотекой …)
Я настроил обработчик с помощью _set_purecall_handler
от msvcr100.dll
, Во время отладки я также могу подтвердить, что мой обработчик вызван.
После выхода из моего обработчика приложения показывает MessageBox
информирование о чистом вызове виртуальной функции и последующем выходе из приложения.
Как я могу предотвратить это messagebox
от показа и продолжения работы приложения?
Поскольку нет способа безопасного восстановления после вызова чисто виртуальной функции, ожидается, что обработчик purecall завершит процесс после сообщения об ошибке пользователю. Если ваш обработчик возвращается вместо завершения, то предполагается, что он ничего не сделал, и обработка по умолчанию запускается.
Просто позвони exit(0)
или аналогичный в конце вашего обработчика, и исходное диалоговое окно будет подавлено.