Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

What are the differences between ActiveX, OLE and COM

461 views
Skip to first unread message

Amuro

unread,
Sep 18, 2003, 4:34:06 AM9/18/03
to
...thx..


Urs Weder

unread,
Sep 18, 2003, 6:32:05 AM9/18/03
to
Amuro wrote:
> ...thx..

There's no difference. Just marketing names

COM => Common Object Model (Microsoft word for CORBA)
OLE => Object Linked embedding (new word for COM, used mainly in
MS-Applications)
ActiveX again new word for OLE

Let the flaming begin ;-)

Greetings, Urs

Ben Taylor

unread,
Sep 18, 2003, 6:11:24 AM9/18/03
to
COM is *component* object model, not common.

>.
>

Bendik Engebretsen

unread,
Sep 18, 2003, 10:48:10 AM9/18/03
to
There's been a lot of confusion about these terms, and Microsoft have been
rather unhelpful to clear out misconceptions. For what it's worth, here's
the story as I recall it:

In the beginning was OLE, 'Object Linking and Embedding', which was a
relatively primitive protocol based on DDE (Dynamic Data Exchange). As far
as I recall, it arrived in the days of Windows 3.1. A typical use of OLE was
linking to a picture in a Word document.

Then the CORBA standard evolved, and Microsoft made its own adaptation of
that and called it COM: The Component Object Model. So, CORBA and COM are
not the same. To put it simple, COM has a less strict object orientation
than CORBA.

Introducing the COM standard in Windows 95 was a quantum leap for software
integration, because it was designed to be very general and extensible. It
also took over the tasks of OLE. The object linking and embedding was now
done with COM, and for a while they called it OLE2. But COM is much more
than OLE. It is a huge standard which basically allows any type of
integration you might think of between Windows applications. VBA - Visual
Basic for Applications is probably the most well known standard based on
COM.

ActiveX was introduced as a strategic marketing name for small, re-usable
COM based modules, the so called ActiveX controls.

Then came DCOM, which is basically the use of COM protocols across a
network.

And there's more, I'm sure... Don't be bothered! The word you really keep in
your mind if you're a hard-core Windows programmer is COM!

Bendik


Joseph M. Newcomer

unread,
Sep 18, 2003, 11:44:20 AM9/18/03
to
COM is the underlying technology on which ActiveX and OLE are based. COM is a very general
object model, as already pointed out.

ActiveX is a COM object with an IDispatch interface.

OLE is another set of standards based on COM, but I haven't done it, so can't speak to it
with much knowledge.

The basic referenc manual on these technologies is about 2500 pages of text. Almost not
worth reading. MFC provides a lot better interface to them, to the point where it is
insane to consider doing "raw" COM/ActiveX/OLE programming at the C level.

C# and .NET technologies are going to replace much of the purpose of COM and ActiveX, and
are a lot simpler. And they are securable (if you let ActiveX controls download from Web
sites, someone already owns your network and all the data on it. A friend recently
reported that while browsing the Web, he noticed his "packet sniffer" he had been using
for some network debugging suddenly started scrolling like mad. After watching it and its
contents for a few minutes, he realized that the entire contents of his hard drive were
being uploaded. He now is a believer in my philosophy of "ActiveX on Web pages: Just Say
No!" Another friend reported that a piece of JavaScript added a bunch of spyware to his
system which it took him hours to track down and kill. Like me, he now disables JavaVirus)
joe

On Thu, 18 Sep 2003 16:48:10 +0200, "Bendik Engebretsen" <kidneb.ne...@tfoshcet.on>
wrote:

Joseph M. Newcomer [MVP]
email: newc...@flounder.com
Web: http://www.flounder.com
MVP Tips: http://www.flounder.com/mvp_tips.htm

0 new messages