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

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


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

Перед тем, как двинуться дальше и приступить к разработке программы на управляемом C++, которая сможет выступать в роли клиента для имеющегося компонента, построенного на основе модели компонентных объектов Microsoft (COM), мы создадим сборку LEGACYCOMSERVERLib.dll, применив утилиту Tlbimp.exe к файлу LegacyCOMSErver. tlb. Мы уже делали подобное раньше, однако здесь для удобства повторим описание всех необходимых действий. Заметим, что утилиту Tlbimp.exe можно применить к файлу TLB или к динамически подключаемой библиотеке (DLL), содержащей компоненты, построенные на основе модели компонентных объектов Microsoft (СОМ). В предлагаемой программе ManagedCOMClient. срр предполагается, что она выполняется в той же папке, в которой находится файл LECACYCOMSERVERLib. dll (для того, чтобы не менять оператор fusing в клиентской программе). Tlbimp LegacyCOMServer.dll
После этого требуется создать сборку, пригодную для загрузчика классов общеязыковой среды выполнения CLR (т.е. сборку необходимо инсталлировать). Одним из способов инсталляции компонента .NET является его копирование в папку клиентской программы. Это известно как "локальная инсталляция". Но сначала мы должны создать клиентскую программу ManagedCOMClient на управляемом C++, которая использует наш компонент, построенный на основе модели компонентных объектов Microsoft (COM). Текст этой программы приведен ниже:

//ManagedCOMClient.срр
#using <mscorlib.dll>
using namespace System;
// использование пространства имен Система;
#using <..\LegacyCOMServer\LEGACYCOMSERVERLib.dll>
using namespace LEGACYCOMSERVERLib;
// использование пространства имен
LEGACYCOMSERVERLib; // имя библиотеки в языке описания интерфейса (IDL)
void main()
{
ILegacyCOMObj *plco;
// от названия интерфейса в языке описания интерфейса (IDL)
plco = new LegacyCOMObj;
// от названия сокласса (coclass) в языке
// описания интерфейса (IDL)
int sum = plco->AddEmUp(3, 4); // суммируем
Console::WriteLine(sum); // сумма
}

Перед запуском этой программы нужно убедиться, что сборка LEGACYCOMSERVERLib.dll скопирована в папку с выполняемой программой. В противном случае общеязыковая среда выполнения CLR сгенерирует исключение System. 10. FileNotFoundException при попытке загрузки интерфейса I'LegacyCOMObj из сборки, которую ей найти не удастся. Выдача этого клиентского приложения, разработанного на основе модели компонентных объектов Microsoft (COM) с помощью управляемого C++, в точности совпадает с выдачей клиента, разработанного на основе модели компонентных объектов Microsoft (COM) в предыдущем разделе.


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

страницы в данном разделе 
Глава 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, справочник программиста