Re[6]: Exception from dll -> dll unload -> AV
От: MasterZiv СССР  
Дата: 05.12.11 16:24
Оценка:
On 12/05/2011 01:51 PM, Amor wrote:

> Код

>
> catch( std::exception& e )
> {
> }
>
>
> не является клиентом my_exception.

Как ни пародоксально, является.
Реализация виртуальных методов где ?

Это так в любом ООП-языке.

В некоторых -- да. Но не в С++.


> если ты думаешь иначе, то наверно мы не договоримся и тебе лучше уйти.


Ха. Это как-то наивно выглядит. С чего я это уходить куда-то должен?

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


Код, который хочет выгрузить .DLL и находится в этой .DLL.
В общем случае лучше -- любой код, который откуда-то хочет выгрузить .DLL

> Ну это тогда хорошо, потому что выгрузка component.dll будет происходить из

> my_exception.dll и все это время таблица виртуальных функций класса my_exception
> будет жива.

А, дошло таки.

> Только при условии, что my_exception сам лочит component.dll.


Кто его лочит, или отлочивает -- это без разницы. А он будет
РЕАЛИЗОВЫВАТЬ, обрабатывать запросы на загрузку и выгрузку
компонент.
Posted via RSDN NNTP Server 2.1 beta
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.