Solved

COM/OLE technology.........necessary?

Posted on 1998-08-24
12
370 Views
Last Modified: 2013-11-25
Hi guys,
   I'm back to ask ... well, more questions...
I am interested in learning COM/OLE and I had a glance at a online book 'Inside OLE/COM' on my MSDN CD....
to say the least, the technology , concepts and ideas
really looks complex and intimidating... it is so hard????
Is learning all these really necessary in order to effectively COM/OLE? What should I learn and how should I learn COM/OLE...in MFC/VC++?
I don't want to learn COM/OLE on VB cause I feel it doesn't let me know what is really going on inside...
I would love to hear your opinions on COM/OLE ...
PS. I have a good grasp on MFC, although not at expert level. Thanks..

David

Note: I have not allocated many points cause what I want is
not a solution, but rather your views and experience on COm/OLE... :)
0
Comment
Question by:Haho
  • 2
  • 2
  • 2
  • +5
12 Comments
 
LVL 7

Expert Comment

by:psdavis
ID: 1321201
If you are trying to learn to create your own ActiveX controls, Dont even open a book about COM.  MFC handles everything for you.  I knew nothing about it and I've got about ten controls under my belt.  Use the ClassWizard to do all of your hard work and skip any chapter in your ActiveX books about the subject.  You'll be fine!

Phillip

0
 
LVL 8

Expert Comment

by:Answers2000
ID: 1321202
Recommended book for MFC beginners (also has some ATL)

Beginning Visual C++ Components with MFC Extensions and ActiveX controls
by Matt Telles
ISBN 1-861000-49-9
Wrox Press 1996

Like psdavis says, forget the theory until you've had some practical experience (or unless you're an OO or C++ compiler guru).  The theory only made sense to me once I had actually done some COM programming with the class wiz etc, the problem is that most books include 100-300 pages of theory before any code (this is the only exception that I know of).

Some of the book isn't applicable to COM, but most of it is.  
0
 
LVL 1

Expert Comment

by:eburley
ID: 1321203
While it's correct that MFC handles many details for you, it's also important to understand what's happening under the covers.  The first time you have to write a light-weight control with ATL, you'll want some grounding in what's really happening.  I've written COM stuff in MFC, ATL, and straight C++, and I actually prefer using the straight api's, since I can really see what's going on.  If you're looking to write some controls, or add OLE Automation (or whatever they're calling it this month) to dialogs and views, MFC should be just fine.  If you're actually interested in what's going on, take the time to understand the basics.  The book "Inside COM" by Dale Rogerson provides a good background, while the COM spec is a good source for the rationale.  I find it usefull to understand the goals and mechanisms behind RPC as well.
0
 
LVL 2

Expert Comment

by:milenvk
ID: 1321204
Consider learning ATL. This seems to be the highly supported Microsoft's technology for lightweight ActiveX components including back-end components and ActiveX controls. After all the back-ends and the controls are the most of the COM components around. At the beginning you will maybe find the technology bad documented but there are some good articles and books. I have done OLE/COM in MFC and ATL and I really find ATL much more powerful, yet easy and light to implement, compared to MFC.
Here is a very good book on ATL:
"Beginning ATL COM Programming"
by Richard Grimes, Alex Stockton, George Reilly and Julian Templeman

The second part of the book which will be named "Professional ATL COM Programming" is expected to be at the shelves soon.
0
 
LVL 1

Author Comment

by:Haho
ID: 1321205
Ok guys,
   so what your ppl are saying is that the heck with the %$##@ theories and get straight to programming COM with MFC or ATL? Sounds good to me... :)

Anyway, I would like to ask you guys ( or anybody else )...
other than Active X controls ( for the internet?) , is there all that is bout COM/OLE?
Are there any major systems/projects which heavily implements COM/DCOM technology?
( not including Microsoft products , after all , it is their own technology )
It seems to me for all the trouble of COM, ppl are well, only using it mainly to create Active X controls.... that doesn't sound really convincing... does it?
I have the same opinion bout Java ( no offense, Java-ians )...
everybody learns it, supports it BUT the only place I see Java implimented is Java applets and small Java apps that normally complement Apps written in other langauges....
( and for all that publicity and hype )...
okay guys, your turn .. :)

Bye! david




0
 
LVL 23

Expert Comment

by:chensu
ID: 1321206
COM is Microsoft's fundamental technology. It is ubiquitous in Windows. More and more Microsoft's new technologies are implemented as COM components. COM itself is not difficult to understand. OLE is huge and not trivial. You can find a tutorial "Components, COM, and ATL" at http://msdn.microsoft.com/developer/.
0
Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

 
LVL 1

Expert Comment

by:eburley
ID: 1321207
I agree with Chensu.  I've been implementing a product over the last year composed of several processes, which relies entirely on COM for it's interprocess comunication.  There's no ActiveX controls involved.  COM is an evolution to RPC programming, and is good at solving the same sort of problems as RPC, especially with the advent of DCOM.
0
 
LVL 8

Expert Comment

by:Answers2000
ID: 1321208
"so what your ppl are saying is that the heck with the %$##@ theories and get straight to programming COM with MFC or ATL? Sounds good to me... :)"

Actually I wouldn't quite say that.  What I'd say is if you're learning from scratch, try and get some real programming under your belt (using a good book as booster) before diving into all the theory.

My point is that it probably won't be obvious why some of the "problems" COM is supposed to solve are "problems" that need to be solved without some real world experience first.

0
 

Expert Comment

by:selom
ID: 1321209
There are a lot of different areas when it comes to COM. ActiveX, ATL, automation etc. If you just jump into "COM" you'll end up confusing yourself. The best way is to start with COM itself. The least you should do is understand the basics. YOu'll just confuse yourself by jumping directly to ATL or ActiveX. There's also another "gotcha". Using COM and creating COM are not quite the same thing. Using COM/ActiveX/Automation objects is easy. Creating them requires some amount of indepth knowlegde. On MSDN, Dr. GUI has a really good overview of COM. It's an 8 part series that takes you from A-Z. I very much recommend it.
0
 
LVL 7

Expert Comment

by:psdavis
ID: 1321210
> YOu'll just confuse yourself by jumping directly to ATL or ActiveX

Depends on the environment that he's working on.  If using MFC, ignore COM.  If using ATL, then learn COM.

Phillip
0
 
LVL 1

Accepted Solution

by:
MuraliKrishna earned 30 total points
ID: 1321211
Ok, I'll go out on the limb.
Check out Julian Templman's "Beginning MFC COM Programming - Wrox Press. I'm convinced based on the above discussion that this is the best book for you to start with. Don't feel insulted by the "Beginning" in the title. This book serves as a very good introduction to COM using MFC. Besides, there are several developers out there who are using MFC for COM Programming. You can always move on to ATL or straight COM once you get the hang of it, and if you already know MFC, this book is without a doubt the best choice.

Don't thank me now- you can thank me once you've read the book ;~). But Seriously, this book fits your MFC background perfectly, and will give a pretty good hands on experience with all the different aspects of COM, OLE and ActiveX.

Regards,
Murali Krishna Devarakonda
0
 
LVL 1

Author Comment

by:Haho
ID: 1321212
thanks guys!!!!!!!!!! great input and sorry for the late reply.
0

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

Introduction: Hints for the grid button.  Nested classes, templated collections.  Squash that darned bug! Continuing from the sixth article about sudoku.   Open the project in visual studio. First we will finish with the SUD_SETVALUE messa…
Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
The purpose of this video is to demonstrate how to set up the WordPress backend so that each page automatically generates a Mailchimp signup form in the sidebar. This will be demonstrated using a Windows 8 PC. Tools Used are Photoshop, Awesome…
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.

747 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

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now