COM DLL与ActiveX控件的区别

COM DLL与ActiveX控件的区别,dll,com,activex,Dll,Com,Activex,我知道没有什么相似之处 两者都不能自己执行。它需要一些程序来实例化它 COM DLL和ActiveX控件与平台无关。(是这样吗…?) 两者都需要支持接口IUnknown,并公开了三种方法QueryInterface、AddRef和Release 它还要求在使用前注册,在使用后取消注册 但它们有何不同?有人能把它列下来吗 我的理解是ActiveX控件是OLE自定义控件(OCX)。我听说过ActiveX DLL之类的术语。它是ActiveX控件的另一种形式还是其他形式?ActiveX是COM的一

我知道没有什么相似之处

  • 两者都不能自己执行。它需要一些程序来实例化它

  • COM DLL和ActiveX控件与平台无关。(是这样吗…?)

  • 两者都需要支持接口
    IUnknown
    ,并公开了三种方法
    QueryInterface
    AddRef
    Release

  • 它还要求在使用前注册,在使用后取消注册

但它们有何不同?有人能把它列下来吗


我的理解是ActiveX控件是OLE自定义控件(OCX)。我听说过ActiveX DLL之类的术语。它是ActiveX控件的另一种形式还是其他形式?

ActiveX是COM的一种风格。COM+、OLE和DCOM也是COM的风格。COM只是指组件对象模型。ActiveX对象只是一个支持
IUnknown
的OLE对象

COM是一种系统级标准,提供模型服务以促进更高级别功能的构建。OLE和ActiveX是在COM基础之上构建的高级服务。COM、ActiveX和OLE在本质上非常相似,但ActiveX和OLE提供了更多的应用程序级功能