Frage

Ich kann nicht meinen Kopf wickeln sich um die Unterschiede zwischen diesen Begriffen.

Sind COM und ActiveX Synonyme?

Ist ActiveX-Objekt nur ein COM-Objekt, das IDispatch aussetzt?

Viele ältere MSDN Seiten erwähnen IDispatch ohne COM Kontext. Gibt es eine separate Geschichte, und wurde nur unter dem COM ‚Schirm‘ später in seinem Lebenszyklus eingeführt?

Wo OLE passen? Ist seine (erhebliche) Präsenz in MFC Namensgebung und MSDN im Allgemeinen - alles nur Vermächtnis

Wikipedia einen Einblick gibt, aber nicht viel. Ich konnte keinen mehr in der Tiefe Referenz finden.

War es hilfreich?

Lösung

Gefunden einige Zitate von COM Programming by Example :

  

Eine andere Sache, die Sie schnell finden mit   COM ist, dass Marketing eine Exkursion hatte   Tag mit der Terminologie. Eher, als   hilft das Verständnis zu fördern,   Sie werden in den meisten Fällen finden es fördert   Geheimnis. ... OLE, ActiveX, Remotable   Objekte - was man meint, was diese   Woche? ...

     

COM aus der Lösung zu einem weiterentwickelt   spezielles Problem - wie ein Wort ermöglichen   Prozessor die Tabelle in eine zu bearbeitende   Brief ohne dass der Benutzer verlassen müssen   die Textverarbeitung zu tun. Diese   Lösung wurde OLE genannt. ... Jedoch,   mit der zweiten Version von OLE (OLE2),   seine Schöpfer modifizierte OLE32.DLL zu   mehr von der Grundfunktionalität aussetzen   von OLE, so dass sein API verwendet werden könnte,   zu ermöglichen, die jede Anwendung Acess   Funktionalität eines anderen. Diese API,   die seit 1993 nicht viel geändert,   ist das, was als die COM sein   API.   ...

     

Sobald die COM API wurde ausgesetzt,   Microsoft verwendet, es zu schaffen, was waren   dann genannt OLE steuert zu ermöglichen   anspruchsvolle Kontrollen (z.B. Knöpfe   dass Spirale, Listenfelder, die spielen   Musik) in Visual C ++ geschrieben sein   zugänglich zu Visual Basic   Anwendungen. Schließlich das gleiche   Technologie wurde verwendet, um eine Kontrolle zu ermöglichen,   durch Ihren Web heruntergeladen und verwendet werden   Browser. An dieser Stelle der Name   geändert, um ActiveX-Steuerelemente oder   Ebene ActiveX rein für Marketing   Gründe dafür. Sie können zwar jedes Paket   Funktionalität in einem ActiveX-Steuerelement,   seine requrirements gewesen   Fach einen Benutzer für die Unterstützung   Schnittstellensteuerung.

Ich bin immer noch neugierig auf den allerletzten Satz - müssen einige zusätzliche Anforderungen ein COM-Objekt erfüllen als ActiveX-Steuerelement zu qualifizieren? -. Aber es ist genug, um sie gehen zu lassen

Vielen Dank für Ihre Antworten!

Andere Tipps

ActiveX ist Marketing-ese für COM, obwohl ActiveX in der Regel im Zusammenhang mit dem "ActiveX-Steuerelemente" verwendet wird, die GUI-Objekte sind.

IDispatch ist eine Schnittstelle von COM implementiert Objekte, so dass Client-Programme ihre Methoden dynamisch zur Laufzeit aufrufen können (späte Bindung), im Gegensatz zu zum Zeitpunkt der Kompilierung, wo alle Methoden und Argumenttypen müssen vor der Zeit bekannt sein .

OLE ist die frühere Version von COM.

In Bezug auf OLE: COM hat seine Wurzeln in OLE. Aber heute kann OLE in Betracht gezogen werden oben auf COM gebaut werden und wird meist verwendet, für das, was der Name schon sagt - Dokument Verknüpfung und Einbettung. Während COM selbst nur ein paar Schnittstellen definiert sich (IUnknown, IClassFactory, IMalloc etc), OLE fügt eine ganze Reihe von zusätzlichen Schnittstellen wie IMoniker, IOleItemComtainer, etc.

Um es zusammenzufassen:. COM ist die Grundlage, ActiveX und OLE sind Schichten auf COM

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top