Architecture Net

Действующий клиент на основе модели компонентных объектов Microsoft (COM)


В целях сравнения (и, конечно, для тестирования компонента, построенного на основе модели компонентных объектов Microsoft (COM), до применения к нему утилиты Tlbimp.exe) ниже показано неуправляемое консольное клиентское приложение Win32. Взгляните на этот пример, чтобы вспомнить один из способов функционирования клиента на основе модели компонентных объектов Microsoft (COM) и сравнить его код с кодом клиента, написанным на управляемом C++" на основе модели компонентных объектов Microsoft (СОМ). (Код на управляемом C++ будет приведен в следующем подразделе.) Наш неуправляемый клиент на основе модели компонентных объектов Microsoft (СОМ) был создан с помощью Visual C++ 6.0 как консольное приложение Win32 (Win32 console application). Имеется также исполняемый (ЕХЕ) файл рабочей версии этой программы.

//LegacyCOMClient.срр

ttinclude <iostream.h>

#include <objbase.h>

#import "..\LegacyCOMServe\LegacyCOMServer.tlb" no_namespace named_guids

void main()

{

{

// вложенные фигурные скобки

// предотвращают исключение указателя (pointer exception)!

Colnitialize(NULL); // ПУСТОЙ УКАЗАТЕЛЬ

ILegacyCOMObjPtr pi(CLSID_LegacyCOMObj) ;

int i = pi->AddEmUp(3, 4);

cout « i « endl « flush;

}

CoUninitialize();

}

Выдача этого клиентского приложения, построенного на основе модели компонентных объектов Microsoft (COM), приведена ниже. Она получена в результате вызова интерфейсного метода AddEmUp, построенного на основе модели компонентных объектов Microsoft (COM). В качестве параметров методу передаются числа 3 и 4.

CompEbook.ru Железо, дизайн, обучение и другие



Содержание раздела