A
Avi Nahir
Hi all,
I'm developing a C# .Net Windows Forms application, and am trying to
"host" mshtml.
Observing ItWriting control
(http://www.itwriting.com/htmleditor/index.php), I saw it implements
OLE2 interfaces to host the mshtml control. Mshtml was written to be
used through OLE, so that's it: If you're trying to 'host' a control
you need to emulate the environment for which the control was written.
However, I have a "philosophical" (or design) question: For the sake
of this posting, I differentiate between COM and OLE not
chronologically but by taking the network layers metaphor:
(*) COM is low level, IUnknown, class factories, VTable, IDispatch,
etc.
(*) OLE is a _ COLLECTION_ of several specific COM interfaces,
decreed by MS to be the glue between applications where a document of
one application is hosted within another: merging of menus and
activation of a document hosted within a container.
So,_today_, what is the way to integrate between applications? If I
wrote Word.Net today, and wanted it to be able to serve as the message
editing component of Outlook.Net, and wanted to be able to embed an
Excel.Net spreadsheet within my mail message, would I still implement
those specific COM interfaces? How? Would .Net do it for me
transparently?
Regards,
Avi
I'm developing a C# .Net Windows Forms application, and am trying to
"host" mshtml.
Observing ItWriting control
(http://www.itwriting.com/htmleditor/index.php), I saw it implements
OLE2 interfaces to host the mshtml control. Mshtml was written to be
used through OLE, so that's it: If you're trying to 'host' a control
you need to emulate the environment for which the control was written.
However, I have a "philosophical" (or design) question: For the sake
of this posting, I differentiate between COM and OLE not
chronologically but by taking the network layers metaphor:
(*) COM is low level, IUnknown, class factories, VTable, IDispatch,
etc.
(*) OLE is a _ COLLECTION_ of several specific COM interfaces,
decreed by MS to be the glue between applications where a document of
one application is hosted within another: merging of menus and
activation of a document hosted within a container.
So,_today_, what is the way to integrate between applications? If I
wrote Word.Net today, and wanted it to be able to serve as the message
editing component of Outlook.Net, and wanted to be able to embed an
Excel.Net spreadsheet within my mail message, would I still implement
those specific COM interfaces? How? Would .Net do it for me
transparently?
Regards,
Avi