Разница между COM DLL и элементом управления ActiveX - PullRequest
13 голосов
/ 19 ноября 2009

Мало сходства я знаю ..

  • Оба не могут выполнить сами. Для его создания нужна программа.

  • Элементы управления COM DLL и ActiveX не зависят от платформы. (это так ...?)

  • Оба требуют поддержки интерфейса IUnknown и предоставляют три метода QueryInterface, AddRef и Release.

  • Он также должен быть зарегистрирован перед использованием и незарегистрирован после того, как закончил с ним.

Но чем они отличаются? Может кто-нибудь перечислить это?

Также я понимаю, что элементы управления ActiveX являются пользовательскими элементами управления OLE (OCX). Я слышал о таких терминах, как ActiveX DLL. Это другая форма элемента управления ActiveX или что-то другое?

1 Ответ

17 голосов
/ 19 ноября 2009

ActiveX - это разновидность COM. COM +, OLE и DCOM также являются разновидностями COM. COM просто означает объектную модель компонентов. Объект ActiveX - это просто объект OLE, который поддерживает IUnknown.

COM является стандартом системного уровня и предоставляет модельные услуги для облегчения построения функциональности более высокого уровня. OLE и ActiveX - это сервисы высокого уровня, построенные на основе COM. COM, ActiveX и OLE очень похожи по своей природе, но ActiveX и OLE предоставляют больше возможностей на уровне приложений.

...