Re: Opendoc (was Re: spell checking)
- From: John R Sheets <dusk smsi-roman com>
- To: Jo Dillon <emily thelonious new ox ac uk>
- CC: GL Gnome List <gnome-list gnome org>
- Subject: Re: Opendoc (was Re: spell checking)
- Date: Wed, 13 May 1998 13:11:09 -0500
Jo Dillon wrote:
>
> Hmm...did this message get chopped off somehow? Something a bit
> more detailed than this would be useful in weighing up its advantages
> (are there any? ;)/disadvantages against Opendoc and suchlike.
I would say that OLE is fairly cumbersome to use. The tools have
developed over time to make it easier (the latest is ATL, a set
of C++ templates), but it's still a bear to deal with. The
registration is cryptic -- the objects themselves use the same
type of 16-byte ID's that the interfaces do, so you have this
proliferation of nasty byte strings, e.g.
{ 8e27c92b-01264-101c-8a2f-040224009c02 }
which could stand for ANYTHING. Arrgh! (c; It's nice in that
you can build your components in any language, but that's hardly
new. Probably one of the main arguments for it is that it's
widely supported in MS-land. I wouldn't want to port MS Office
to Linux without having native OLE support. But that's moot
anyway... I don't think it's intrinsically better than, say,
CORBA.
I'll think about it some more and get back to you.
> > OLE/COM is heavily based on the idea of interfaces. Each and
> > every COM object (e.g. a GUI control, or container, or service)
> > uses more than one interface to talk back and forth between its
> > owner (container, server, whatever).
>
> What's a service and a container in this context?
A non-GUI component would be a service (e.g. a calculus
interface). Actually, "service" isn't really a buzzword in OLE.
I just used it in a descriptive sense.
A container is usually a hosting application that borrows the
functionality of another object/application, e.g. if you imported
an MS Excel spreadsheet into MS Word, Word would be the container
(host) because it houses the OLE spreadsheet (as part of a
compound document). Excel (which would be running invisibly in
the background, controlling the spreadsheet imbedded in Word) is
the server. In this context, Word would also be a client,
because it requests the spreadsheet interface from Excel.
So, really, an OLE object cannot BE a container. It can only be
owned or used by a container.
Does that help?
John
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]