Самоубийство COM-объекта
От: zz-di Россия  
Дата: 17.06.02 10:51
Оценка:
Привет всем.

Ситуация: COM-объект каким-либо образом определил, что клиент (в другом процессе), использующий его, не работает (повис, сломался, выключили питание и тд). Соответственно, некоторое количество (одна или несколько) ссылок, которые держал клиент, никогда не будут отпущены.
Вопрос: как объекту корректно себя убить?
Re: CoDisconnectObject
От: Vi2 Удмуртия http://www.adem.ru
Дата: 17.06.02 11:58
Оценка: 3 (1)
Здравствуйте zz-di, Вы писали:

ZD>Ситуация: COM-объект каким-либо образом определил, что клиент (в другом процессе), использующий его, не работает (повис, сломался, выключили питание и тд). Соответственно, некоторое количество (одна или несколько) ссылок, которые держал клиент, никогда не будут отпущены.

ZD>Вопрос: как объекту корректно себя убить?

Может такое решение имеет право на жизнь: вызвать CoDisconnectObject для объекта, для которого ВСЕ ссылки потеряны. Я не уверен, что этот вызов уберёт счётчик. Если почистит, то делать больше ничего не надо, объект удалится. Если это не так, можно сделать счётчик=1 и вызвать Release.
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! © КВН НГУ
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.