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

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


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

Ниже описан еще один способ вызова существующего компонента, построенного на основе модели компонентных объектов Microsoft (COM), из программы на управляемом C++. В этом способе не нужно создавать сборку упаковщика с помощью Tlbimp.exe. Вместо использования Tlbimp.exe для создания сборки LegacyCOMObj, среда во время выполнения создает интерфейсный класс непосредственно из зарегистрированной библиотеки типов компонента, построенного на основе модели компонентных объектов Microsoft (COM). Заметим, что в этой версии клиента на управляемом C++ для действующего компонента на основе модели компонентных объектов Microsoft (COM) директива fusing для доступа к сборке LEGACYCOMSERVERLib. dll уже не нужна.

//ManagedCOMClientWithoutMetadata.cpp
fusing <mscorlib.dll>
using namespace System;
// использование пространства имен Система;
using namespace Reflection;
// использование пространства имен
Reflection (Отражение);
void main()
{
Object *args[] = {_box(3), _box (4)};
_box int *sum;
Type *type = Type::GetTypeFromProgID(
"LegacyCOMServer.LegacyCOMObj.1");
Object *object = Activator::CreateInstance(type);
// Объект
*object = Активатор:: Createlnstance (тип);
sum = static_cast<_box int *>(type->InvokeMember( // сумма
"AddEmUp", // метод, который будет вызван
BindingFlags::InvokeMethod, // флажки редактора связей
О, // объект редактора
object, // целевой объект
args // массив параметров
));
Console::WriteLine(sum); // сумма
}

Если вы запустите эту программу, то увидите выдачу, которая ничем не отличается от выдач предыдущих трех программ клиентов, основанных на модели компонентных объектов Microsoft (COM). Единственное отличие заключается в том, что в данном случае нет необходимости создавать сборку упаковщика, а потому и нет необходимости инсталлировать ее на клиентской машине (что, если подумать хорошенько, — весьма неплохо).


Создание с помощью управляемого C++ клиента на основе модели компонентных объектов 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, справочник программиста