Программирование COM сервере. Первая программа ATL COM – Hello World

Программирование COM сервере. Первая программа ATL COM – Hello World

Введение

Цель лабораторной работы состоит в том, чтобы дать основы создания COM сервер, используя библиотеку шаблонных классов, и затем вызвать сервер из программы на Visual C++. Программа разработана для показа создания объектов COM на базе библиотеки шаблонных классов.

Шаг 1: Создание COM сервера

  1. Выбрать ATL COM AppWizard и набрать имя проекта в Project. В данном случае оно будет HelloWorld
  2. Затем выбрать тип сервер в виде библиотеки динамической компоновки и нажать Finish.
  3. Нажать OK для генерауции файлов в Class Wizard.
  4. Перейти в ClassView, правый щелчок по HelloWorld classes и выбрать New ATL object.
  5. Затем выбрать Simple object.
  6. Набрать короткое имя компонента, в данном случае CGreet, мастер автоматически заполнит другие имена.
  7. Перейти к просмотру классов снова
  8. Правый щелчок по значку ICGreet и выбрать Add Method
  9. Набрать имя функции, как SayHello, и заполнить параметры, как [in] BSTR name, [out,retval] BSTR *retstr
  10. Перейти к FileView и набрать код ниже в CGreet.cpp. Построить проект, и сервер готов

 

// CCGreet

STDMETHODIMP CCGreet::SayHello(BSTR name, BSTR *retstr)

{

char str[20] ;

sprintf(str,”hello “);

// Copy the value of hello into the string variable

// Create a new variable called temp initialized

// with the value of str

CComBSTR temp(str);

 

// Append the input parameter value to the temp variable

temp += name ;

 

// Send the value back to the calling function

*retstr = temp.Detach();

 

return S_OK;

}

 

Шаг 2: Создание клиента COM

Теперь будет создан клиент COM для сервера COM в виде DLL. Им будет приложение на базе диалога MFC, с текстовым полем и двумя кнопками.

  1. Выбрать NewMFC AppWizard из меню Project и набрать имя проекта HelloWorldClient.
  2. Выбрать тип приложения Dialog based и нажать Finish
  3. Перейти к закладке ResourceView. Добавить блок редактирования на диалог.
  4. Срздать переменную типа CString (value), связанную с ним, назвав ее m_edit – нажать CTRL + W для перехода в ClassWizard. Выбрать закладку Member Variables, выбрать IDC_EDIT1 и нажать Add Variable, набрав указанное имя.
  5. Будет создан файл HelloWorldClientDlg.cpp.
  6. Двойной щелчок по кнопке OK на диалоге, появится панель запроса имени функции, выбрать имя по умолчанию OnOK для перехода в файл HelloWorldClientDlg.

Комментарии к записи Программирование COM сервере. Первая программа ATL COM – Hello World отключены

Рубрика: Программирование

Обсуждение закрыто.