Hello,here is your answers:
COM(Component Object Model): It is a technology which allows you to use functionality from other softwares(like MS-WORD,IE,MS-OFFICE etc) in your VB/VC/VJ/VFP application. Technically COM Components expose certain Properties ,Methods, and Events to your Application.You can then use these to use the fucntionality.As an example, if I have created a Text Editor in VB then I do not have to write code for a spell checker.IF I have type library of MS-WORD installed on my machine I will just reference it,and then declare a variable of type WORD.APPLICATION.This variable now will store all Methods,Properties exposed by WORD.
DCOM: (Distributed Component Object Model): Same as COM but for Network Applications ,where my objects are stored on a different machine, and I am using them (usually) on a different machine
COM+: COM+ is an extension to the Component Object Model (COM). COM+ builds on COM's integrated services and features, making it easier for developers to create and use software components in any language.
ActiveX: ActiveX is a technology from Microsoft,using which you can create code pieces(like ActiveX DLL,ActiveX EXE,ActiveX Control) which can be used freely in any MS, and most of the time non-MS, programs.As an example,if you create and ActiveX Control you can use it in Developer 2000 just like in VB/VC. Remeber COM is an industry standard whereas ActiveX is still MS Centric;as an example an ActiveX document will only run in IE and not in other browsers.
In the heirarchy of Object based solutions ActiveX falls below COM
Hope this helps...