gpt4 book ai didi

COM/OLE/ActiveX/IDispatch混淆

转载 作者:行者123 更新时间:2023-12-04 10:32:57 25 4
gpt4 key购买 nike

我无法解决这些术语之间的差异。

是COM和ActiveX同义词吗?

ActiveX对象仅仅是公开IDispatch的COM对象吗?

许多较旧的MSDN页面提到IDispatch时没有任何COM上下文。它是否有单独的历史记录,并且在其生命周期的后期才在COM“伞”下引入?

OLE适合在哪里?它在MFC命名和MSDN中是否存在(相当大的)存在-仅仅是旧的?

Wikipedia可以提供一些见识,但不多。我找不到更深入的引用。

最佳答案

找到了COM Programming by Example的一些引号:

Another thing you'll quickly find with COM is that marketing had a field trip day with the terminology. Rather then helping to promote understanding, you'll find in most cases it promotes mystery. ... OLE, ActiveX, Remotable Objects - which one means what this week? ...

COM evolved out of the solution to a specific problem - how to allow a word processor to edit the spreadsheet in a letter without the user having to exit the word processor to do it. This solution was called OLE. ... However, with the second release of OLE (OLE2), its creators modified OLE32.DLL to expose more of the basic functionality of OLE so that its API could be used to allow any application to acess the functionality of another. This API, which hasn't changed much since 1993, is what is considered to be the COM API. ...

Once the COM API was exposed, Microsoft used it to create what were then called OLE controls to allow sophisticated controls (e.g., buttons that spiral, list boxes that play music) written in Visual C++ to be accessible to Visual Basic applications. Eventually this same technology was used to allow a control to be downloaded and used by your web browser. At this point, the name changed to ActiveX controls or just plain ActiveX purely for marketing reasons. Although you can package any functionality in an ActiveX Control, its requrirements have been specialized for supporting a user interface control.



我仍然对最后一句话感到好奇-COM对象是否必须满足一些附加要求才能成为ActiveX控件? -但足以让它继续前进。

感谢您的回答!

关于COM/OLE/ActiveX/IDispatch混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/820614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com