Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

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

Posted on 1998-08-24
12
Medium Priority
?
412 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
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.

 
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
 
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:
Murali Devarakonda earned 120 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

Veeam Task Manager for Hyper-V

Task Manager for Hyper-V provides critical information that allows you to monitor Hyper-V performance by displaying real-time views of CPU and memory at the individual VM-level, so you can quickly identify which VMs are using host resources.

Question has a verified solution.

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

What my article will show is if you ever had to do processing to a listbox without being able to just select all the items in it. My software Visual Studio 2008 crystal report v11 My issue was I wanted to add crystal report to a form and show…
A theme is a collection of property settings that allow you to define the look of pages and controls, and then apply the look consistently across pages in an application. Themes can be made up of a set of elements: skins, style sheets, images, and o…
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.

916 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