Developing Windows Error Messages
Review by Tom Anderson
Bill Gates Jr., father of the Microsoft Croesus, admitted to The New York Times recently that he found most Windows error messages "absolutely unfathomable," but didn't want to bother his son by complaining about them. The elder Gates could do us all a world of good by getting Bill III to read this book.
Ben Ezzell aims his book squarely at software developers and others responsible for writing the error messages our computers display. Using real-life examples, Ezzell discusses the problems with bad error messages. Then he shows how to reduce errors by using foresight, eliminating unnecessary errors, and reducing user errors by making tasks easier to understand.
To a computer user, his arguments are eminently reasonable. For example, if a program can detect an error and knows how to fix it, why not just go ahead and fix it, rather than nagging the user to do something differently? Much of this material will be more obvious to end-users who have suffered than to programmers.
Ezzell offers a friendlier method of reporting errors, based on providing usable information to either the user or technical support personnel. He also discusses help systems and online documentation as a way of preventing errors.
The CD included with the book contains an Error Message DLL (free for programmers to use), along with several demo programs in C++ and Visual Basic showing how to use it.
This is a useful book for programmers, and would be even more useful for computer users if more programmers were to follow Ezell's guidelines.
Developing Windows Error Messages
By Ben Ezell
[$39.95, 266 pages with CD-ROM]
O'Reilly, 1998
ISBN: 1-56592-356-1
Visual Basic Controls in a Nutshell
Review by Tom Anderson
Visual Basic has lately been described as being divided into two parts: Visual Basic for Applications (VBA), the language component used for writing actual code; and the VB controls, pre-written objects used for the user interface.
This is the companion volume to VB & VBA in a Nutshell: The Language, reviewed here recently. The two volumes together constitute an excellent reference package for Visual Basic.
The author covers the controls included in the Professional and Enterprise editions of Visual Basic 5 and 6. Controls available only in VB6 are so marked. The first section gives an overview and covers the shared elements of the various controls. It also covers the Form and MDIForm objects.
The second section, the basic reference, makes up the bulk of the book. Each control is covered in considerable detail. This is no mere reprint of the online help. Interaction tables show the unexpected interactions between properties and methods of different controls. Each control's section also lists the order in which events are fired, which can be important in tracing elusive bugs. The author frequently points out how and why a control might be used, and gives many tips and tricks to optimizing performance.