Re[3]: ROT и многозадачность
От: Vi2 Удмуртия http://www.adem.ru
Дата: 28.05.03 10:26
Оценка:
Здравствуйте, john_silver, Вы писали:

_>Гм. Читаем в MSDN описание метода IPersistFile::Load ()
_>"When the object has been loaded, your implementation should register the object in the Running Object Table (see IRunningObjectTable::Register)."

Не обращай внимания. Это относится к компаудным документам (реализующим IOleObject и т.п.) и к самому IPersistFile не имеет отношения. Потому как моникера регистрации нет. Да и требовать от этого интерфейса не свойственных ему функций — несуразица. Хотя для своих объектов это и можно сделать.

_>Все это хорошо, но мне нужно практическое решение. Имеется сервер, реализующий COM объекты с уникальными именами. Нужно гарантировать создание только одного экземпляра объекта с определенным именем. Классическое решение — реализовать у объекта интерфейс IPersistFile и получать его экземпляр через File Moniker, в соответствии с описанным мной в первом постинге алгоритмом. Но как быть с многозадачностью?
_>Что делать-то? Не может быть, чтобы ни у кого не возникало подобной проблемы.

А по-моему тут нет никакой проблемы. Регистрация в ROTе имеет одну ссылку на объект. Пока сам объект не захочет убраться из системы, ROT его будет держать. А кто уж его регистрит в ROT — это издержки проектирования. Главное — кто удалять будет!
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! © КВН НГУ
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.