Although 16-bit Delphi is a very exciting product, it's the upcoming 32-bit version that has really fired the imaginations of Windows developers. In addition to providing full support for 32-bit Windows programming under Windows 95 and Windows NT, the new compiler will generate more highly optimized code than its 16-bit sibling. In other words, you'll see even better performance for your applications.

The 32-bit Delphi compiler will use the same back-end code generator that Borland employs in its C++ development system. The compiler will now, by default, pass parameters to routines via registers rather than pushing parameters onto the stack, creating faster, more efficient object code.

The 16-bit compiler generates a list of errors and warning messages before terminating a compilation (see Screen A). By clicking on a particular message, you can move to the erroneous line of code so you can fix it before recompiling.

A frequent criticism of the 16-bit version is that it stops whenever it encounters any error. In practice, I never found this to be much of an inconvenience because of the compiler's speed.

The 32-bit version of Delphi will support 32-bit OLE-enabled custom controls (OCX) and control OLE Automation servers. On the negative side, it doesn't seem to be able to use 16-bit VBX controls. However, Borland's 32-bit C/C++ development system can utilize 16-bit VBXs through some proprietary magic. It would be great if this technology found its way into Delphi. Then again, I'm working with a beta version of the software, so perhaps it will in the release.

The 32-bit version of Delphi will be fully source-code-compatible with existing 16-bit projects, provided that you've confined yourself to using VCL rather than the Windows API. Most of the time, you'll be able to simply open up an existing 16-bit project from the 32-bit system and recompile it.

In practice, I don't find confining myself to VCL for maximum portability to be much of a restriction. VCL is a rich and flexible application framework. Often, if I can't find a VCL way of doing something, it's because I'm not looking hard enough.

The upcoming version of Delphi includes a full, 32-bit version of BDE for increased database performance and a new, graphical Database Explorer for browsing and modifying database aliases, tables, views, and user/server security information. In addition, a new SQL monitor program allows you to "eavesdrop" on the SQL statements passing through SQL links to a remote server.

Finally, the 32-bit Delphi compiler includes a number of new data types which, in particular, are intended to provide support for the new Unicode character set. A Unicode character is 16 bits wide while an ASCII character is only eight bits wide. The new data types in the 32-bit Delphi compiler provide full Unicode support and, in conjunction with Windows NT, enable you to build truly international applications.