Domanda

Non riesco ad avvolgere la testa tra le differenze tra questi termini.

I sinonimi COM e ActiveX sono sinonimi?

L'oggetto ActiveX è solo un oggetto COM che espone IDispatch?

Molte vecchie pagine MSDN menzionano IDispatch senza alcun contesto COM. Ha una storia separata ed è stata appena introdotta sotto l'ombrello COM più avanti nel suo ciclo di vita?

Dove si inserisce OLE? La sua (considerevole) presenza nella denominazione MFC e MSDN in generale - tutto solo legacy?

Wikipedia fornisce alcune informazioni, ma non molto. Non sono riuscito a trovare un riferimento più approfondito.

È stato utile?

Soluzione

Trovate alcune citazioni da Programmazione COM per esempio :

  

Un'altra cosa che troverai rapidamente con   COM è che il marketing ha avuto una gita   giorno con la terminologia. Piuttosto che   contribuire a promuovere la comprensione,   troverai nella maggior parte dei casi che promuove   mistero. ... OLE, ActiveX, Remotable   Oggetti: quale significa questo   settimana? ...

     

COM si è evoluta dalla soluzione a   problema specifico: come consentire una parola   processore per modificare il foglio di calcolo in a   lettera senza che l'utente debba uscire   il word processor per farlo. Questo   la soluzione è stata chiamata OLE. ... Però,   con la seconda versione di OLE (OLE2),   i suoi creatori hanno modificato OLE32.DLL in   esporre più delle funzionalità di base   di OLE in modo che possa essere utilizzata la sua API   per consentire a qualsiasi applicazione di accedere a   funzionalità di un altro. Questa API,   che non è cambiato molto dal 1993,   è quella che è considerata la COM   API.   ...

     

Una volta esposta l'API COM,   Microsoft lo ha usato per creare ciò che era   quindi chiamato controlli OLE per consentire   controlli sofisticati (ad es. pulsanti   quella spirale, caselle di riepilogo che giocano   musica) scritto in Visual C ++ per essere   accessibile a Visual Basic   applicazioni. Alla fine è lo stesso   la tecnologia è stata utilizzata per consentire un controllo   per essere scaricato e utilizzato dal tuo Web   browser. A questo punto, il nome   modificato in controlli ActiveX o semplicemente   semplice ActiveX puramente per il marketing   motivi. Anche se puoi confezionarne uno qualsiasi   funzionalità in un controllo ActiveX,   i suoi requisiti sono stati   specializzato per supportare un utente   controllo dell'interfaccia.

Sono ancora curioso dell'ultima frase: un oggetto COM deve soddisfare alcuni requisiti aggiuntivi per qualificarsi come controllo ActiveX? - ma è abbastanza per lasciarlo andare.

Grazie per le tue risposte!

Altri suggerimenti

ActiveX è marketing per COM, sebbene ActiveX sia generalmente utilizzato nel contesto di "controlli ActiveX". che sono oggetti GUI.

IDispatch è un'interfaccia implementata da oggetti COM in modo che i programmi client possano chiamare i suoi metodi in modo dinamico in fase di esecuzione (late-binding), anziché in fase di compilazione in cui tutti i metodi e i tipi di argomento devono essere conosciuti in anticipo .

OLE è la versione precedente di COM.

Riguardo a OLE: COM ha le sue radici in OLE. Ma oggi, OLE può essere considerato costruito sopra COM e viene utilizzato principalmente per ciò che suggerisce il suo nome: collegamento e incorporamento di documenti. Mentre COM stesso definisce solo un paio di interfacce (IUnnown, IClassFactory, IMalloc ecc.), OLE aggiunge un sacco di interfacce aggiuntive come IMoniker, IOleItemComtainer, ecc.

Per riassumere: COM è il fondamento, ActiveX e OLE sono livelli sopra COM.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top