Few similarities I know..
Both cannot execute by themself. It needs some program to instantiate it.
COM DLL & ActiveX controls are platform independant. (is it so...?)
Both requires to support the interface IUnknown
and exposes three methods QueryInterface
, AddRef
, and Release
.
It also requires to be registered before using and un-registered after done with it.
But how are they different? Can someone please list it down?
Also my understanding is ActiveX controls are OLE custom controls (OCX). I have heard of terms like ActiveX DLLs. Is it another form of ActiveX control or something different?
ActiveX is a flavor of COM. COM+, OLE, and DCOM are also flavors of COM. COM just means Component Object Model. An ActiveX object is just an OLE object that supports IUnknown
.
COM is a system-level standard and provides model services to facilitate the construction of higher-level functionality. OLE and ActiveX are high-level services built on top of the COM foundation. COM, ActiveX, and OLE are very similar in nature but ActiveX and OLE provide more application-level features.