Шаг 126 - Новые макросы - DECLARE_OLECREATE

Давайте рассмотрим описание класса CMYMFC созданного в шаге "Шаг 124 - Как создать COM объект с использованием MFC". Одного объявления класса наследником от CCmdTarget недостаточно. Один из них DECLARE_OLECREATE.

126_1.gif (3682 b)

Макрокоманда DECLARE_OLECREATE используется для того, чтобы дать возможность объектам наследникам от CCmdTarget создаваться через автоматизацию OLE. Эта макрокоманда дает возможность другим OLE приложениям создать объекты этого типа. Если DECLARE_OLECREATE включен в объявление класса, то IMPLEMENT_OLECREATE должен быть включен в реализацию класса. Объявление класса, использующее DECLARE_OLECREATE должно также использовать DECLARE_DYNCREATE или DECLARE_SERIAL (подробнее "Шаг 219 - IMPLEMENT_DYNCREATE и DECLARE_DYNCREATE", "Шаг 222 - DECLARE_SERIAL и IMPLEMENT_SERIAL").

Посмотрим, как реализован макрос IMPLEMENT_OLECREATE.

// {E053D25E-DDA6-4949-A51C-EE4997569F5B}
IMPLEMENT_OLECREATE(CMYMFC, "TEST.MYMFC", 0xe053d25e, 0xdda6, 0x4949, 0xa5, 0x1c, 0xee, 0x49, 0x97, 0x56, 0x9f, 0x5b)

В данном макросе описано фактическое имя класса, объектное имя для других приложений (его Вы использовали в "Шаг 125 - Немного о базах данных") и CLSID класса.

Описание макроса находится в #include <afxdisp.h>


Предыдущий Шаг | Оглавление
Автор Каев Артем - 06.10.2002