| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Release COM объекта - недостаточно? |
| Автор: leniviy 12.11.2003, 14:23 |
| Я использую сторонний модуль для работы с БД, который работает как COM объект при работе он использует BDE, а для правильной работы проги очень нужно, чтобы драйвера BDE не были заняты. После того, как модуль сделает свое дело, я вызываю для него метод Release, но освобождения BDE не происходит, пока вся программа не завершится Как же убить этот объект чтоб наповал? ответте, кто знает, пожалуйста |
| Автор: shedon 12.11.2003, 15:12 |
| По сути метод Release, ведёт учёт ссылок на объект(переменная m_dwRef), этот метод вычитает из m_dwRef единицу, и только если после этого m_dwRef становится равным 0 объект удаляется. Тоесть, скорее всего, у твоего объекта несколько пользователей. |
| Автор: Ars 12.11.2003, 18:56 |
| Если COM - inprocess server, попробуй ф-цию CoFreeUnusedLibraries(); |
| Автор: leniviy 13.11.2003, 15:31 |
| что такое inprocess server? |
| Автор: leniviy 13.11.2003, 16:46 | ||
|
| Автор: Ars 14.11.2003, 10:39 | ||
Это когда экземпляр COM-объекта располагается в адресном пространстве вызывающего процесса |