Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Дуальные интерфейсы COM-технологии

1.8K
06 мая 2008 года
Arkady
153 / / 18.12.2007
У меня возник вопрос взаимодействия интерфейса COM и Visual Basic.

Все статьи, все книги, которые я читал по COM-технгологии, все они упоминают, что BSTR, SafeArray, Variant - условие передачи данных, необходимое для кросс-языковой совместимости.

Но при этом _все_ они упоминают эти понятия как составную часть реализации IDispatch, как часть сервера Автоматизации.

И в итоге, если я реализую простой COM, vtbl-интерфейс, есть ли там какие-то условия на передаваемые данные? Обязан ли такой интерфейс передавать данные через BSTR, SafeArray, Variant?

А если я планирую реализовать дуальный интерфейс. Соответственно доступна будет и виртуальная таблица функций, и сервер автоматизации. Сервер автоматизации обязан использовать BSTR, SafeArray, Variant.
А какие условия накладываются на функции виртуальной таблицы функций? Обязан ли я там реализовывать BSTR, SafeArray, Variant?

Насколько я понял - не обязан. Именно для того эта таблица и выводится пользователям C++, чтобы они могли обойти использование BSTR, SafeArray, Variant.
Так ли это?

И если это так, то как рекомендуется передавать данные? Всё равно же массивами, а не структурами/объектами? Просто, может быть, std::vector? Или как?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог