Re: Exception from dll -> dll unload -> AV
От: Amor Россия  
Дата: 03.12.11 17:49
Оценка:
так все-таки как поступать, если все компилируется в одном компиляторе, хочется динамическую загрузку библиотек и кидание исключений?

Допустим такой код:

{
   ScopedLoadLibrary lib ( "component.dll" );
   ComponentPtr comp = ComponentFactory::CreateInstance();

   comp->DoSomething(); // и отсюда вылетает некий class myexception : public std::exception
}


Вроде бы нормальный с точки зрения клиентского вызова код.
Но код myexception::~myexception находится в component.dll, а это значит, что в catch-е который его отловит модуль уже будет выгружен.
И когда CRT-шный код пытается удалить объект — происходит AV.

Какие будут предложения?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.