API - ActiveX - COM - OLE - Confusion

L

LLT

Hi guys,

I am trying to understand the difference between these terms (API, ActiveX,
COM, OLE, Automation).

Can anyone please provide an example (a well formed sentense or a number of
them) of how these terms would be used.

I looked them up in Wikipedia and they all appear to be related but I fail
to differentiate them properly from the work that I do.

Let's say I build an Excel tool, that has a reference to Word (through early
binding) and it consumes Word's object model to accomplish certain things.
Let's also say that I have an Addin in Excel (Like Hyperion Essbase or SAP
BEx) and this tool uses its functions too. Finally this tool may obtain the
username via a Windows API call.

Should I say that the interoperability with Word is "Automation", and that
Word is exposed (or is) an "ActiveX" control?. Then should I say that by
using the Add-ins functions I have used their "API"? Is calling functions of
an add-in considered , making "API" calls? Where does "COM" and "OLE" come
in here?

Thank you for the clarification.

Leo
 
J

JonMerel

Ok, I am not an expert but this is what I understand:

API = APplication Interface. This is a set of methods,objects and
documentation used to program an addin for an application made by another
company. (Ex.: Word has a COM API)

Automation = When the API allow to interact with the other application the
same way a user would do (ex.: When you use the Outlook API to send a email,
you can say Outlook provide automation)

COM = The main way to interact with Windows Application is COM. Com is said
to be OLE version 2. Even after 5 years of programming with COM API, I can't
say exactly what this mean...

OLE = the first version of ActiveX designed to Embeed an object into another
application (OLE=Object Linking and Embedding). Ex.: When you insert a
MSPaint picture into Wordpad. Now pepole use the therm ActiveX instead of OLE.

ActiveX = A predefined set of interface (a bunch of methods) to implement
to make your object a graphical COM/OLE client. When you implement an
ActiveX, anybody can embeed your application. (Ex.: when you insert a Excel
sheet into a word document, you can still edit the excel sheet within word...
this is because Excel offer an ActiveX version of himself).

I hope it helps.
Jonathan
 
L

LLT

Thank you for the examples and descriptions Jon.

JonMerel said:
Ok, I am not an expert but this is what I understand:

API = APplication Interface. This is a set of methods,objects and
documentation used to program an addin for an application made by another
company. (Ex.: Word has a COM API)

Automation = When the API allow to interact with the other application the
same way a user would do (ex.: When you use the Outlook API to send a
email,
you can say Outlook provide automation)

COM = The main way to interact with Windows Application is COM. Com is
said
to be OLE version 2. Even after 5 years of programming with COM API, I
can't
say exactly what this mean...

OLE = the first version of ActiveX designed to Embeed an object into
another
application (OLE=Object Linking and Embedding). Ex.: When you insert a
MSPaint picture into Wordpad. Now pepole use the therm ActiveX instead of
OLE.

ActiveX = A predefined set of interface (a bunch of methods) to implement
to make your object a graphical COM/OLE client. When you implement an
ActiveX, anybody can embeed your application. (Ex.: when you insert a
Excel
sheet into a word document, you can still edit the excel sheet within
word...
this is because Excel offer an ActiveX version of himself).

I hope it helps.
Jonathan
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top