Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win


What is COM

Posted on 2000-05-10
Medium Priority
Last Modified: 2010-04-04
I have a Formal Exploratory Report about Delphi's use of COM and i will give all my points to the man/woman who can give me the best Paragraph long answer to this question. I would really appreicate the use of all the big words you can think of so as i can go away and look them up and explore it further.
Question by:grishkin
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
LVL 15

Expert Comment

ID: 2798534
Better than give you a paragraph, I'll point you to the best site I know about COM: from the very basics to implementing COM-based solutions.




LVL 10

Accepted Solution

Lischke earned 1520 total points
ID: 2799589
Let me try it too :-)

COM (which stands for: component object model) is a technology introduced by Microsoft. It is used to describe, in an almost programming language neutral manner, what an object (in the sense of being software) is able to do. This means there's no concret implementation available from the view of the system or any application other then the COM server but only an interface. The term "interface" is very important in this context as it describes the intent of the class (object). This "intent" is made public to the system by means of the registry (which is very important in particular for out of process COM servers [Out-Proc], but often also for in process servers [In-Proc]) or by IDL files (IDL stands for interface description language).

A very interesting part (seen from the programmer view) is that interfaces are reference counted. This means there is an internal counter which is (can be)incremented whenever a COM class is used somewhere and should not be freed. This counter will be decremented whenever this code section is left and the COM class removes itself automatically when this counter reaches zero. This part is very interesting because it frees the implementor of the class from tracking the usage of the class (which is often simply not possible) and freeing it.

Based on the COM technology are further enhancements like ActiveX, VBA (Visual Basic for Applications) as well as many more special purpose COM servers. For Delphi you can active an Internet Explorer instance within your application or active Photoshop via OLE automation. This all is done using COM. More recent technologies use COM to create windowless rich edit controls (in place editing) via CreateTextServices and for Delphi there's an excellent system library available (written by Madshi) which exclusive uses interfaces to query and return system information, which enables the lib to no longer take care about class usage (as there is a high dependency between various classes).

The latest developments are DCOM (distributred COM) and COM+ (coming with Windows 2000). The first is an extension of COM to be used for COM servers running on different machines in a network. Although already an issue on one machine marshalling becomes now much more important (marshalling is a way to transfer data between address rooms in different processes). COM+ plus goes a step further and adds transaction handling to DCOM. Microsoft advertises this technology for search indexes, file (keyword active directory) and even databases.

There's surely much more to say about COM, but it's already more than one paragraph, so I stop here and let you decide.

Ciao, Mike

Author Comment

ID: 2799987
Adjusted points from 375 to 380
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Author Comment

ID: 2799988

Our lecturer 'Dan the man', is a regular to this site so i won't C&V but you have wrapped this up very nicely...

LVL 10

Expert Comment

ID: 2800062
Although there are quite a lot typos in my text I enjoyed writing it for you :-) Btw: what is C&V?

Ciao, Mike

Author Comment

ID: 2802725
Cut&Paste, sorry...

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
Introduction Raise your hands if you were as upset with FireMonkey as I was when I discovered that there was no TListview.  I use TListView in almost all of my applications I've written, and I was not going to compromise by resorting to TStringGrid…
In a question here at Experts Exchange (https://www.experts-exchange.com/questions/29062564/Adobe-acrobat-reader-DC.html), a member asked how to create a signature in Adobe Acrobat Reader DC (the free Reader product, not the paid, full Acrobat produ…
Loops Section Overview
Suggested Courses

610 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question