by Mark Trescowthick - GUI Computing
Just when you thought ToolBook had died at the hands of VB (and a host of other competitive tools), along comes the version that should have been released a year or more ago... it will change the way ToolBook is viewed. ToolBook 1.53 was really showing its age, and Asymetrix have procrastinated so long that, rather than version 2, the new edition is version 3!
Perhaps the weakest part of the old ToolBook was its total inability (short of a raft of API calls) to do custom dialog boxes or any MDI application.... indeed, to have more than one 'page' on screen at any one time. Developers were forced to great lengths to get even the simplest application working if more than one window was required.
No more. ToolBook 3 takes the approach of developing a new control they call a "Viewer". This enables any toolbook page to be displayed as part of any other page - and that includes using them to create floating button bars, dialog boxes or even "help-like" popups.
Even better, ToolBook 3's full drag and drop support means that it's possible to allow your users to drag items from a toolbar, for example, and drop them into a working application. There's even an innovative use in the demo application where a viewer is set up to 'emulate' a TV, and the user can page through or even view animations on screen.
For multimedia or hypermedia developers, most of the 'plain vanilla' features (or, as some might harshly suggest, restrictions) have gone away. Fields can now have embedded graphics and buttons, and full font, colour and RTF support (via Paste, not import) is all there. And the horribly-plain ToolBook buttons can now include bitmaps of icons, can now be far more flexible and are up with the pack. Making a field or button 3D is just the setting of one or two properties. Cursor control, which was again a bit limited, is now as good as anything I've seen. Fully animated cursors are supported, as is the ability to use Windows-standard .CUR files.
On the technical side, ToolBook 3 is far better optimised to graphical applications, featuring as it does the ability to embed resources into a book. These may be buttons, graphics or whatever and, once embedded, can be used as often as required with virtually no size or performance overhead.
Memory size restrictions are pretty-much gone, too. ToolBook will now use up to 16MB or RAM, and has an vastly-expanded stack (64Kb), which allows for up to 1024 levels of nesting. And there's a definite speed increase...
Another major change is in the area of colour-handling (where previous versions have had, quite rightly, a pretty bad reputation). Palettes can now be imported and used to control how colours are displayed. And, in a real convenience for developers, there's a UseWindowsColors setting, which automatically uses the colours as defined by the user for all standard Windows components.
The Development Environment ToolBook was always a very convenient environment in which to develop, but version 3 sets new standards. Asymetrix have taken a number of leaves from Microsoft's interface book, and now feature dockable toolbars, an optional layout ruler and improved handling of groups and graphic objects.
Setting properties is also much easier, with nifty popup menus triggered by the right mouse button. These are not just menus, but actually include a mini button bar as well. The properties dialog boxes have far more useful information, too.
The language itself has also undergone a couple of very significant changes, most notably in the way variables are assigned. Variables may now be declared by type (e.g. REAL, STRING, COLOR, INTEGER), and arrays are now a feature. One new feature I personally love is the fact that Asymetrix have caved in to the demands of developers and now allow the = operator for variable assignment. FOO = 1 is a lot clearer (and quicker to write) than set FOO to 1.
Also beefed up in this release is ToolBook's ability to intercept and translate Windows messages, which was fraught with danger previously. And there's a new handler class, the Notify handlers. These allow notification before or after most system events, which is a much less error-prone method than the previous 'capture and forward' approach.
I don't know how many times I was caught with a failure to 'forward' causing obscure bugs! The debugger and editor have also got a dose of muscle, as has ToolBook's ability to generate scripts. And developers who like to implement standards (or those who don't really want to be programmers) will go ape over version 3's ability to store scripts in libraries for future use.
But best new feature of all? That award has to go to the new menu item "Save As .EXE". Yes, that's an option, though the runtime files are still required. This alone makes ToolBook a far more credible alternative for serious development.
ToolBook 3 is "exclusively" distributed by no less than 2 Australian distributors : Asymetrix Asia Pacific (based in Melbourne) and XLTech (based in Sydney). Crossgrades are available for both the standard and multimedia versions (at least, they are from XLTech) for any existing VB users. At $195 and $795 respectively, they represent pretty good value.
ToolBook 3.0 should be shipping by the time you read this, with MultiMedia ToolBook 3.0 scheduled to ship in July 1994. For up-to-date pricing refer to GUI Computing's downloadable catalogue as in the MultiMedia Introduction.