|
|
От: |
Vi2
|
http://www.adem.ru |
| Дата: | 28.05.03 10:26 | ||
| Оценка: | |||
Не обращай внимания. Это относится к компаудным документам (реализующим IOleObject и т.п.) и к самому IPersistFile не имеет отношения. Потому как моникера регистрации нет. Да и требовать от этого интерфейса не свойственных ему функций — несуразица. Хотя для своих объектов это и можно сделать._>Гм. Читаем в MSDN описание метода IPersistFile::Load ()
_>"When the object has been loaded, your implementation should register the object in the Running Object Table (see IRunningObjectTable::Register)."
А по-моему тут нет никакой проблемы. Регистрация в ROTе имеет одну ссылку на объект. Пока сам объект не захочет убраться из системы, ROT его будет держать. А кто уж его регистрит в ROT — это издержки проектирования. Главное — кто удалять будет!_>Все это хорошо, но мне нужно практическое решение. Имеется сервер, реализующий COM объекты с уникальными именами. Нужно гарантировать создание только одного экземпляра объекта с определенным именем. Классическое решение — реализовать у объекта интерфейс IPersistFile и получать его экземпляр через File Moniker, в соответствии с описанным мной в первом постинге алгоритмом. Но как быть с многозадачностью?
_>Что делать-то? Не может быть, чтобы ни у кого не возникало подобной проблемы.