Как получить все экземпляры вставок компонент

Автор Akew, 03.12.15, 20:59:24

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Akew

Добрый вечер!

Метод IPart7::InstanceCount(iPart7) возвращает количество вставок компоненты iPart7.
А как можно получить сами эти вставки (например, в виде массива *IPart7, VARIANT или как-нибудь иначе)?

Спасибо.


Akew

ЦитироватьPartsEx - Массив SAFEARRAY компонентов
Насколько я понимаю, это свойство возвращает ВСЕ компоненты сборки (по выбору: только уникальные, или все-все, какие только есть в модели).
Однако, это не совсем то: мне нужны только экземпляры указываемого компонента.

Так найдите в этом массиве, экземпляры данного компонента.

Akew

Sabahs,
я реализовал поиск и отбор копий компонент по имени первого экземпляра.
В принципе, все работает, однако, остались сомнения в оптимальности этой реализации.

Отбор я провожу по имени компоненты. Поскольку у IPart7 нет свойства "Имя объекта", то, для его получения, пришлось его перевести в IFeature7 (для каждого элемента массива, полученного в PartsEx).

Не существует ли более короткого пути осуществить этот отбор? Т.е., может быть, нужно сравнивать не имена, а что-нибудь другое?

Спасибо.

Akew

Sabahs,
я реализовал поиск и отбор копий компонент по имени первого экземпляра.
В принципе, все работает, однако, остались сомнения в оптимальности этой реализации.

Отбор я провожу по имени компоненты. Поскольку у IPart7 нет свойства "Имя объекта", то, для его получения, пришлось его перевести в IFeature7 (для каждого элемента массива, полученного в PartsEx).

Не существует ли более короткого пути осуществить этот отбор? Т.е., может быть, нужно сравнивать не имена, а что-нибудь другое?

Спасибо.