Не отрабатывают деструкторы в COM(C++) после Exception
От: Shef Россия www.devpark.ru
Дата: 01.06.05 10:39
Оценка:
С++ СOM компонент рожает в себе Excpetions
{
   CCriticalSectionWrapper criticalSectionWrapper(m_CS)
   if (it == NULL) 
   {
    throw _com_error(E_INVALIDARG);
   }
}

Но при этом Exception деструктор CCriticalSectionWrapper, не отрабатывает и критическая секция не освобождается. На .NET клиенте вылетает SEHException.

Почему такая штука может быть? Возможно это связано со спецификой использования COM из под .NET?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.