У меня есть элемент управления ActiveX, написанный на C ++, который работает в Internet Explorer 8. В большинстве случаев (около 90%), когда вкладка или браузер, содержащий элемент управления, закрыты, возникает нарушение прав доступа, подобное следующему:
The thread 'Win32 Thread' (0x1bf0) has exited with code 0 (0x0).
Unhandled exception at 0x77b3b9fd in iexplore.exe: 0xC0000005: Access violation reading location 0x65007408.
Нарушение доступа происходит после вызова OnDestroy (), но до вызова деструктора элемента управления.
Вывод отладки говорит:
No symbols are loaded for any call stack frame. The source code cannot be displayed.
В трассировке стека нет моего кода, хотя, возможно, куча была повреждена в какой-то более ранний момент во время выполнения.
Какие события жизненного цикла получает элемент управления ActiveX между вызовом OnDestroy () и деструктором элемента управления?