• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

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

Автор 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).

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

Спасибо.