Why so many people ask such questions?An AcitveX object is a COM object that can run in IE, and ActiveX also include standard for how a control can commuinicate with IE, this all.COM stands for many many other thing, it does not care about IE, it does not care about cab, property bag, etc. To ActiveX, COM is the building block on which ActiveX technology can developed.
所以不能这样看,
activex是微软对com的一种具体化吧
There is a Spec, I cannot remember it right now, may be OCX'96, something like that. Before this Spec, you can say An ActiveX is a COM object, but a COM object need not be an ActiveX (Since there are many more interfaces need to be implemented before being an ActiveX control)After that Spec, you can say a COM object is also an ActiveX object theoretically (because only IUnknown is required now), but remember, no ActiveX control in real world can live with only IUnknown interface.Currently we use COM for the whole component technology.