Вход


Главная страница >> Учебный процесс >> Конспекты >> Delphi. Поддержка технологий COM >> COM-объекты и фабрика классов >> Создание экземпляра внешнего COM-сервера

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

  


Создание экземпляра внешнего COM-сервера


На первый взгляд процесс создания экземпляра СОМ-объекта из внешнего сервера, подобен процессу создания объекта из внутреннего сервера ? в модуле ComObj вызывается функция CreateComObject(). Однако в остальном эти процессы абсолютно не похожи. В данном случае функция CoCreateComObject() просматривает реестр в поисках параметра LocalServer32 и вызывает ассоциированное приложение, используя API-функцию CreateProcess(). Когда внешнее приложение-сервер запущено, сервер должен зарегистрировать свою фабрику классов, используя API-функцию СОМ CoRegisterClassObject(). Эта функция добавляет указатель IClassFactory во внутреннюю таблицу зарегистрированных активных объектов СОМ-класса. После этого функция CoGetClassObject() может получить из этой таблицы необходимый указатель Factory СОМ-класса для создания экземпляра СОМ-объекта.



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

  


  
За содержание страницы отвечает Гончарова М.Н.
©
Кафедра СПиКБ, 2002-2017