No puedo entender las diferencias entre estos términos.COM/OLE/ActiveX/IDispatch confusion
¿Son sinónimos COM y ActiveX?
¿El objeto ActiveX es solo un objeto COM que expone IDispatch?
Muchas páginas anteriores de MSDN mencionan IDispatch sin ningún contexto COM. ¿Tiene un historial separado, y fue introducido recientemente bajo el 'paraguas' COM más adelante en su ciclo de vida?
¿Dónde encaja OLE? ¿Su presencia (considerable) en el nombramiento de MFC y en MSDN en general, todo solo legado?
Wikipedia da alguna idea, pero no mucho. No pude encontrar una referencia más en profundidad.
"debe un objeto COM satisfacer algunos requisitos adicionales para calificar como un control ActiveX" Sí. Aunque no estoy seguro de lo que son. Probablemente es solo que tiene que implementar una interfaz particular. –
No hay una especificación rígida de esto. Incluso los documentos dicen que los contenedores deberían degradarse graciosamente cuando un control ActiveX no implementa una interfaz. –
La especificación original para controles ActiveX tenía las interfaces necesarias para hacer un control útil en Internet Explorer y/o Visual Basic. Pero esos conjuntos de interfaces cambiaron con el tiempo, y las aplicaciones se volvieron más tolerantes con las interfaces faltantes, por lo que, finalmente, cualquier elemento que admita la interfaz COM IUnknown podría considerarse un componente ActiveX. –