на начало
На главную страницу
Форум   

Статья :: Доступ из управляемого кода к компонентам, построенным на основе модели компонентных объектов Microsoft (COM)


Доступ из управляемого кода к компонентам, построенным на основе модели компонентных объектов Microsoft (COM)

Как уже было показано в предыдущем разделе, программирование компонентов .NET легко осуществить, используя управляемый код C++, но это так же легко и в любом другом языке .NET. Вероятно, никто ничего не потеряет, перейдя от надоевшей сложности программирования компонентов на основе модели компонентных объектов Microsoft (СОМ) к программированию компонентов .NET. Однако в этом десятилетии модель компонентных объектов Microsoft (COM) все еще останется важной технологией разработки Windows-программ. На самом деле модель компонентных объектов Microsoft (СОМ) остается основой практически любой важной новой технологии, разработанной Microsoft и другими ведущими компаниями, выпускающими программное обеспечение для Windows на протяжении нескольких последних лет. Естественно, что существует большое количество действующих компонентов и клиентских приложений на основе модели компонентных объектов Microsoft (COM). В этом разделе будет показано, как из управляемого кода на C++ вызывать методы, реализованные в компонентах на основе модели компонентных объектов Microsoft (COM). Разумеется, так же легко, используя аналогичную технологию, можно получить доступ к компонентам на основе модели компонентных объектов Microsoft (COM) и из программ, созданных на других языках .NET.
Управляемое клиентское приложение, написанное на Visual C++ .NET (или другом языке .NET), может использовать возможности взаимодействия, предусмотренные в .NET Framework для вызова существующих неуправляемых компонентов, построенных на основе модели компонентных объектов Microsoft (COM). Можно сказать, что возможности взаимодействия, предусмотренные в .NET Framework, образуют мост между средой выполнения управляемого клиента .NET и родной средой выполнения компонентов, построенных на основе модели компонентных объектов Microsoft (COM), это видно на рис. 15.1.

1.gif

Рис. 15.1. Упаковщик, вызываемый во время совместного выполнения управляемого и неуправляемого кодов

Можно реализовать сборку упаковщика, вызываемого во время выполнения (RCW) самостоятельно, используя средство рInvoke (Platform Invocation Services, Службы обращения к платформе — они описаны далее в этой главе) для вызова необходимых интерфейсов прикладного програ\мирования (API), таких методов как CoCreatelnstance и даже самого lUnknown. Но это не является необходимостью, так как сервисная программа (утилита) Tlbimp. exe может считать информацию из библиотеки типов и автоматически сгенерировать упаковщик, вызываемый во время выполнения (RCW), что и будет описано в следующем разделе.


Доступ из управляемого кода к компонентам, построенным на основе модели компонентных объектов Microsoft (COM)

страницы в данном разделе 
Глава 15. Смешивание управляемого и неуправляемого кода Смешивание управляемого и неуправляемого кода
Сравнение управляемого и неуправляемого кода Причины смешивания управляемого и неуправляемого кодов
Неуправляемый или опасный? Управляемые и неуправляемые ссылки и типы значений
Ограничения на использование управляемых типов в C++ Вызов управляемого кода из неуправляемого и обратный вызов
Сравнение программирования на C++ с использованием модели компонентных объектов Microsoft (COM) и .NET Доступ из управляемого кода к компонентам, построенным на основе модели компонентных объектов Microsoft (COM)
Сервисная программа Tibinp. ехе Унаследованный компонент на основе модели компонентных объектов Microsoft (COM)
Действующий клиент на основе модели компонентных объектов Microsoft (COM) Создание клиента на основе модели компонентных объектов Microsoft (COM) с помощью управляемого C++
Разработка управляемого клиента на основе модели компонентных объектов Microsoft (COM) с помощью С# Создание с помощью управляемого C++ клиента на основе модели компонентных объектов Microsoft (COM) без метаданных
Создание с помощью С# управляемого клиента на основе модели компонентных объектов Microsoft (COM) без метаданных Доступ к управляемым компонентам из клиентов на основе модели компонентных объектов Microsoft (COM)
Раннее связывание клиента на основе модели компонентных объектов Microsoft (COM) с компонентами .NET Динамическое связывание клиента на основе модели компонентных объектов Microsoft (COM) с компонентами .NET
Явное определение интерфейса Службы обращения к платформе: Plnvoke (Platform Invocation Services)
Резюме >  


Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)



PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C



 
© faq.pp.ru, справочник программиста