Шаг 191.
Среда программирования Visual C++.
Приложения-клиенты СОМ. Пример использования директивы #import

    На этом шаге мы рассмотрим пример использования директивы #import.

    В этом упражнении мы научимся использовать директиву #import для импорта библиотеки типов, а также применять в коде своего клиентского приложения сгенерированные типы "интеллектуальных" указателей и функции-оболочки. Мы отредактируем созданное ранее приложение EncodeHello.

    Обратите внимание, что в этом примере код приложения размещается в собственном блоке между вызовами CoInitialize() и CoUninitialize(). Это гарантирует, что переменная pServer не выйдет из области видимости до вызова CoUninitialize(). Когда же pServer выйдет из области видимости, деструктор _com_ptr_t вызовет метод Release() через инкапсулированный указатель на IEncoder. Если же это произойдет после закрытия библиотек СОМ, результаты могут быть катастрофическими Заметьте, что по сравнению с предыдущей версией читать такой код намного легче и что он очень похож на обычный код C++, в котором СОМ не применяется. Но пусть его простота Вас не обманывает - невозможно написать высокопроизводительный и безошибочный CОМ-код без глубокого понимания основополагающих принципов этой технологии.

    Со следующего шага мы начнем рассматривать повторное использование COM-объектов.




Предыдущий шаг Содержание Следующий шаг