I wish I could give this Ten Stars -- it is well deserved.Let's face it Visual Basic, by design, has many pitfalls, walls and cages -- with Matt Curland's Advanced Visual Basic 6 any developer can be free to design creatively without keeping track of what they can and cannot do.
This book is a must for Software Engineers developing in VB. After reading many books on Visual Basic and growing utterly exhausted by the phrase "beyond the scope of this book" I have finally found a VB book that caters to the Visual Basic Developer who needs to extend VB beyond the basics and bring professional quality level applications/components to the Windows Market.
The techniques offered are not only applicable to 'everyday programs', but also absolutely indispensable for creating VB applications with a fully professional look and feel.
For any Software Engineer who grew up writing Windows applications in C or COM components in ATL and who want to parlay that knowledge in the Visual Basic Environment, this book will take you there and beyond.
The text on the infamous VBized TypeLibrary is the only concise writing I have ever come across that fully defines what Visual Basic does when you add to an existing interface and rebuild as well as what you can do to prevent additional Interface IDs from being created.
For large development teams sharing components, the binary compatibility tools, included on the CD, are worth the price of admission alone. The binary compatibility tools is a must for any large extended VB project, and the post-build pieces give you simple point and click control over your finished product -- including elimination of external typelib dependencies and changing default interfaces.
I cannot say enough just how much this book has been a great addition in the development of new components and applications.
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