A most well-written book with (for this programmer) some structural problems that do not diminish its technical value as an aid to deeper understanding of the "machinery" behind the "user illusion" of Visual Basic.
This book requires a type of deep knowledge about COM and the underlying interface between Visual Basic and the Windows 32 operating system which you will probably not have unless you have been a C/C++ programmer ... or have done extensive work with trying to optimize applications writen in VB using the API interfaces to Windows provided by VB.
It offers very complex solutions to very complex problems. Implementing the solutions requires you to depend upon the author's provided bridging-code ... a package called "VBBoost" ... which, for most mortals, will be a set of "black boxes."
The problem with that is that as soon as Windows and VB change ... and they soon will undergo a most profound transformation when .Net and VB7 arrive ... how will any real-world solution implemented using the author's bridging-code tools be reliably maintainable ? Or even be usable in the radically different architecture ?
Personally, I would not dare use the tools provided by the author ... which he will update and maintain on his web-site as he has time ... for any commercial code. For me there is difficulty with the MS provided controls whose quirks require staying on top of so many Knowledge Base articles, and which often have to be extended through API code to really tap their full functionality.
To use the techniques in this book with confidence I would have to spend more time than I wish to going back and learning the depths of COM and Win32 ... and I'd just about have to do that by studying the C/C++ literature ... which I'd then have to mentally translate back to VB.
This would undoubtedly make me a better programmer through sleep deprivation, but it is not consistent with my use of VB for rapid prototyping and application development at a fairly high level of abstraction.
If you are a VB Guru already ... or are really ready to step out of the "VB Bubble" into the depths of COM and Win32 ... then I think ... as the other reviews attest ... this is THE book for you. The author, imho, has a genius for explaining very complex interactions between the different internal layers of software in Windows.
I do not regret buying this book, and I really enjoyed the author's clear, expository, style. To me he writes as cleanly and enjoyably as Francesco Balena, Karl Peterson, and a very few others about such a deeply technical aspect of VB.
His web site with updates to the software examples and revisions and corrections for the book shows he is committed to helping people use his work.
So, in conclusion, I have to say that while I wish I was at the level where I could understand and use the knowledge presented so well in this book, I am not.
I have mixed feelings about writing this review ... as I do about the book; I wouldn't want to discourage anyone from buying this book which is an important contribution to the "distaff" VB literature (a universe until now mainly populated by Appleman and McKinney).
What I would love to see would be a book by Francesco Balena, my favorite VB author, that would somehow get me to the point where I could grok Curland's book without spending a year in the C/C+/API gulag. But perhaps Francesco has better uses of his time :)
Please do check out this book yourself !
Bill Woodruff, dotScience