Есть задача — контролировать процесс загрузки и сохранения файлов MS Word (надо модифицировать пути к загружаемым/сохраняемым файлам). Насколько удалось понять это можно было бы решить путем агрегации объекта Word.Application в свой com объект с реализацией интерфейса IMarshal в своем объекте. Однако при попытке создания Word.Application, CoCreateInstance возвращает E_NOAGGREGATION. Действительно офисные объекты не поддерживают агрегацию или я что-то делаю не так?
Буду очень благодарен за всякие мысли по поводу того как это можно реализовать.
С уважением,
Вячеслав
Re: Проблема с агрегацией объекта Word.Application
Здравствуйте, kotanas, Вы писали:
K>Здравствуйте,
K>Есть задача — контролировать процесс загрузки и сохранения файлов MS Word (надо модифицировать пути к загружаемым/сохраняемым файлам). Насколько удалось понять это можно было бы решить путем агрегации объекта Word.Application в свой com объект с реализацией интерфейса IMarshal в своем объекте. Однако при попытке создания Word.Application, CoCreateInstance возвращает E_NOAGGREGATION. Действительно офисные объекты не поддерживают агрегацию или я что-то делаю не так?
K>Буду очень благодарен за всякие мысли по поводу того как это можно реализовать.
K>С уважением, K>Вячеслав
При создании агрегируемого объекта CoCreateInstance надо запрашивать обязательно интерфейс IUnknown.
У вас это так?
Re[2]: Проблема с агрегацией объекта Word.Application
Здравствуйте, john_silver, Вы писали:
_>Здравствуйте, kotanas, Вы писали:
K>>Здравствуйте,
K>>Есть задача — контролировать процесс загрузки и сохранения файлов MS Word (надо модифицировать пути к загружаемым/сохраняемым файлам). Насколько удалось понять это можно было бы решить путем агрегации объекта Word.Application в свой com объект с реализацией интерфейса IMarshal в своем объекте. Однако при попытке создания Word.Application, CoCreateInstance возвращает E_NOAGGREGATION. Действительно офисные объекты не поддерживают агрегацию или я что-то делаю не так?
K>>Буду очень благодарен за всякие мысли по поводу того как это можно реализовать.
K>>С уважением, K>>Вячеслав
_>При создании агрегируемого объекта CoCreateInstance надо запрашивать обязательно интерфейс IUnknown. _>У вас это так?
Здравствуйте, kotanas, Вы писали:
K>Есть задача — контролировать процесс загрузки и сохранения файлов MS Word (надо модифицировать пути к загружаемым/сохраняемым файлам). Насколько удалось понять это можно было бы решить путем агрегации объекта Word.Application в свой com объект с реализацией интерфейса IMarshal в своем объекте. Однако при попытке создания Word.Application, CoCreateInstance возвращает E_NOAGGREGATION. Действительно офисные объекты не поддерживают агрегацию или я что-то делаю не так?
K>Буду очень благодарен за всякие мысли по поводу того как это можно реализовать.
Для контролирования процесса загрузки файлов можно попробовать посмотреть на интерфейс IPersistMoniker
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.