Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

DCOM [D7]


Michail Dalakov ©   (2004-01-01 23:38:00) 

Выбрана следующая модель фабрики классов - ciMultiInstance, tmApartment. При подключении к серверу создается новая инстанция COM - объекта, который обслуживает данное соединение. Если соединение разрывается "правильно", то ссылка на интерфейс отпускается и СOM - объект разрушается. В случае если соединение разрывается "неправильно", то счетчик ссылок не обнуляется и объект продолжает висеть в памяти сервера. Причем вызов метода
Destroy для связанного TRemoteDataModule не является "чистой" ликвидацией объекта, т.к. на сервере остается поток в котором был создан COM - объект и другой мусор. Как решить эту проблему,
т. е. как "чисто" ликвидировать объект со стороны сервера.


Michail Dalakov   (2004-01-05 14:47:00) [1]

To[1]
ICh(self)._Release во-первых не помогает, во-вторых не является правильным, т.к. здесь завязан ComClassManager см.
TRemoteDataModule и DCOM (Michail Dalakov 02.01.04 14:38)


Michail Dalakov   (2004-01-05 14:05:00) [2]

Спасибо администрации за возврат вопроса в данную конференцию
Если кому интересна данная тема с радостью готов обсудить. Могу порекомендовать также посмотреть
TRemoteDataModule и DCOM (Michail Dalakov 02.01.04 14:38)


Romkin   (2004-01-05 13:54:00) [3]

Попробуй просто дать его интерфейсу Release


Наверх

Титульная страница Поиск, карта сайта Написать письмо