Before looking at this book, I visited Wrox' web site. There I found the errata for the book, which I downloaded. It was nice to have this information available so easily (if you have web access), but I was somewhat alarmed to see that, amongst other things, the table of contents was wrong in a big way. It seems that they missed off one of the levels of hierarchy, leading to a fairly mixed-up contents. It surprises me how this slipped through the net It does not surprise me. Unfortunately Wrox Press have tied themselves to subscription style publishing where there is little if any flexibility in publication dates. - Francis Glassborow. On reading through the book I was struck by the large number of typos in the text, as well as a number of errors in the code and diagrams. The apparent lack of proof-reading, coupled with the rather high buzzword content of the title of this book lead me to surmise that it had been somewhat rushed out the door to ride on the wave of VC++5, ActiveX and OLE/COM Control hype.
So what did I like about the book? I shall explain after giving an overview of what it covers. The first two chapters introduce COM and ActiveX and
IUnknown, IClassFactoryand
IDispatch. Next a trivial ActiveX control is developed 'from scratch' using C/C++. After showing how it is done the 'hard way' Microsoft's Active Template Library (ATL) is introduced, along with the various wizards in VC++5 and the same control is created with a few lines of code and a few clicks of the mouse. The rest of the book (the last two thirds) is based around a case study of setting up an intranet on the network of a fictitious company. One of the applications to be deployed over the intranet incorporates a calendar control, which is developed during the course of the book. As this project progresses, topics like DCOM and security are covered. I liked the early chapters that showed the difference between writing the code and getting the wizard to do it for you, especially since knowing what is going on under the hood can be extremely valuable when problems occur. I was always wondering about the authority of the text in these places, however and I didn't find their case study very inspiring to read about. I imagine it would be more interesting to follow its progress if I was working on an application for a company intranet myself at the time.
There are better introductions to ActiveX controls, I think, although the case study may be of more interest to those actively developing controls for intranet deployment.