Re[5]: Exception from dll -> dll unload -> AV
От: Amor Россия  
Дата: 05.12.11 09:51
Оценка:
Здравствуйте, MasterZiv, Вы писали:

MZ>Если он получает через ссылку на std::exception объект-наследник типа

MZ>конкретного эксепшена, который реализован в этом компоненте, то этот
MZ>код также является клиентом этого конкретного эксепшена и этого компонента.
MZ>В С++ так. Может в других языках было бы по-другому.

Код
catch( std::exception& e )
{
}

не является клиентом my_exception. Это так в любом ООП-языке.
если ты думаешь иначе, то наверно мы не договоримся и тебе лучше уйти.

MZ>Какому-то менеджеру компонент, который в нужный момент, потом, выгрузит

MZ>указанный компонент.

А кто должен его отправлять?

MZ>В модуле, где реализован этот класс, отку да он экспортируется

MZ>. тебе какая разница ?

Ну это тогда хорошо, потому что выгрузка component.dll будет происходить из my_exception.dll и все это время таблица виртуальных функций класса my_exception будет жива.
Только при условии, что my_exception сам лочит component.dll.


MZ>Почему ? Чё за дурость ? Вечно все почему-то как-то связывают .dll с

MZ>невозможностью что-то исползовать. DLL-и ничего использовать не мешают.

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