Здравствуйте, Аноним, Вы писали:

А>переделал недавно СОМ-сервер — сделал вместо одного интерфейса с кучей функций несколько небольших интерфейсов (по функциональности). Объявление теперь выглядит примерно так:

А>...
А>все работает и даже работает в макросах в офисе, НО когда я пытаюсь вызвать Func1 объекта из WSH он выдает мне список полей и функций интерфейса IModule, а не IFunc1. Еще раз повторюсь, в Excel, Word, PP — все работает на ура..
А>как это можно побороть?

Скрипты не имеют возможности обратиться к дополнительным интерфейсам объекта и работают только с его IDispatch. Если им является IModule, то будут вызываться функции этого интерфейса, если за IDispatch будет отвечать другой интерфейс (например, перестановкой в перечислении интерфейсов), то будут вызываться функции уже этого интерфейса.

Как побороть? Вернуть все обратно в один большой интерфейс.

PS
Кстати, и VB, и Excel (Word, PP...) будут вести себя также, если не пользоваться библиотекой типа СОМ-сервера.
Автор: Vi2    Оценить