Ситуация: COM-объект каким-либо образом определил, что клиент (в другом процессе), использующий его, не работает (повис, сломался, выключили питание и тд). Соответственно, некоторое количество (одна или несколько) ссылок, которые держал клиент, никогда не будут отпущены.
Вопрос: как объекту корректно себя убить?
Здравствуйте zz-di, Вы писали:
ZD>Ситуация: COM-объект каким-либо образом определил, что клиент (в другом процессе), использующий его, не работает (повис, сломался, выключили питание и тд). Соответственно, некоторое количество (одна или несколько) ссылок, которые держал клиент, никогда не будут отпущены. ZD>Вопрос: как объекту корректно себя убить?
Может такое решение имеет право на жизнь: вызвать CoDisconnectObject для объекта, для которого ВСЕ ссылки потеряны. Я не уверен, что этот вызов уберёт счётчик. Если почистит, то делать больше ничего не надо, объект удалится. Если это не так, можно сделать счётчик=1 и вызвать Release.