![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| NieL |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 214 Регистрация: 10.2.2008 Репутация: 1 Всего: 1 |
вопрос: А нужно ли следить за памятью используемой интерфейсом? Вот, к примеру, метод в котором юзается интерфес IXMLDOMDocument.
Просмотрел полно примеров, в некоторых, по окончанию пользования интерфейсом сбрасываю его в nil, как в моем методе, в некоторых не сбрасывают. Проверял FastMM'ом, мемори лики, если не сбросить в nil, не фиксируются, занимаемая память вроде как освобождается. Внесите ясность. |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Интерфейс имеет счетчик ссылок.
Если все ссылки потеряны, то он автоматически уничтожается менеджером памяти. Некоторые специально наследуют все свои классы от интерфейса, чтобы не заморачиваться с уничтожением. Сброс ссылки в nil применяется для немедленного уничтожения. P.S. Это кстати, на тему сборки мусора в дельфи |
|||
|
||||
| NieL |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 214 Регистрация: 10.2.2008 Репутация: 1 Всего: 1 |
слышал, что теоретически должно так быть, но вот практически возникают утечки памяти. |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Если в этом случае есть утечки, значит не все ссылки умирают.
Значит кто-то где-то продолжает ссылаться. Например, если создать ActiveX контрол, с указанием Owner'a Вроде ссылок на контрол уже нет. Ан нет... Owner его по прежнему помнит. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |