Architecture Net



         

Раннее связывание клиента на основе модели компонентных объектов Microsoft (COM) с компонентами .NET - часть 4


//SomeManagedClass.срр

fusing <mscorlib.dll>

using namespace System;

// использовать пространство имен Система;

using namespace System.:Runtime::InteropServices;

// использовать пространство имен

// Система::Время выполнения: InteropServices;

namespace SomeManagedClass

// пространство имен SomeManagedClass

{

[Classlnterfасе(ClassInterfaceType::AutoDual)] // Автодуальный

public _gc class ManagedClass

// класс сборщика мусора ManagedClass

{

public:

ManagedClass () // общедоступный конструктор по умолчанию

{

}

int AddEmUpdnt i, int 3 )

{

return i + j ;

}

},

}

В результате компиляции вышеописанной программы как проекта библиотеки классов на управляемом C++ (managed C++ Class Library) будет создана сборка — динамически подключаемая библиотека (DLL) — файл с именем SomeManagedClass . dll Следующая команда создаст из этой сборки библиотеку типов с именем

SomeManagedClass.tlb

tlbexp SomeManagedClass.dll

Можно просмотреть содержимое этого файла библиотеки типов, используя сервисную программу для просмотра объектов OLE/COM — утилиту Oleview.exe, расположенную в папке утилит SDK среды NET Это показано на рис. 15.4
Ранне-связанные клиенты на основе модели компонентных объектов Microsoft (СОМ) могут использовать данный файл SomeManagedClass .tlb во время компиляции Например, следующая консольная клиентская программа Win32 на основе модели компонентных объектов Microsoft (COM) с именем COMClientOfManagedClass (которая была создана с помощью VC++ 6 О для имитации существующего клиента на основе модели компонентных объектов Microsoft (COM)) использует раннее связывание для вызова компонентов NET в ранее описанной сборке SomeManagedClass.dll

4.gif



Рис 15 4 Утилита Oleview exe показывает содержимое библиотеки типов, построенной на основе модели компонентных объектов Microsoft (COM) Библиотека типов была сгенерирована из сборки NET с помощью утилиты Tlbexp. exe (Assembly to Type Library Converter — Конвертер сборки в библиотеку типов)

//COMClientOfManagedClass cpp




Содержание  Назад  Вперед