It has an odd name and is based on Pascal, but Delphi is the most satisfying of the RAD products for Windows. Most competing packages offer compromised performance or features in return for fast, easy development.
Delphi has a point-and-click visual interface builder but builds fast applications thanks to its native code compiler. At its heart is the Visual Component Library (VCL), a Pascal class library which does a good job of encapsulating the Windows API. Developers with appropriate skills can create new components or inherit from existing ones, which means that almost any Windows problem can be solved without resorting to another language. The development environment is itself built in Delphi, showing its flexibility.
Version 3.0 of Delphi, for Windows 95 and NT only, offers improvements in several key areas. Earlier versions built large executables, since much of the VCL was compiled into each application. Great for version control, but wastes space and system resources if several executables are running at once. Borland's solution is called Packages, dynamic link libraries identified by a .DPL extension. For example, VCL30.DPL contains the core VCL components. You can create your own packages, and new custom components are installed as packages. The old-style executables are still available, so the choice is left to the developer.
The most significant new features are for ActiveX and the COM object model which underlies it. Delphi 3.0 comes with the Delphi ActiveX Framework, a set of classes which greatly simplify ActiveX development. A key feature is that you can convert a VCL component into an ActiveX control. There are wizards for creating ActiveX forms, which display within web browsers, ActiveX controls, automation objects and type libraries. It compares well with similar features in Visual Basic 5.0, although at the time of writing, both are in beta.
This rich array of ActiveX features is important, because it lets you plug-and-play between Delphi and other Windows applications and tools.
For example, you could develop a component in Delphi and deploy it as part of a Visual Basic application, or on a form within Word or Excel.
Equally, you could create an ActiveX control in Visual Basic and install it on Delphi's toolbar. ActiveX overcomes one of the main objections to Delphi, the fact its Pascal code is not portable.
There are a host of smaller improvements to keep Delphi up with its competition.
The Borland Database Engine is the code which drives Delphi's database components. It now supports Microsoft Access databases, including Access 97, by means of Data Access Objects. This will prove faster and more robust than the old ODBC Access drivers, although it will not please third parties who have been providing this as an add-on component. Borland have no license to distribute Microsoft's JET engine, so use of the new driver requires this to be previously installed. Visual Basic applications use JET, as does Microsoft Office. The dBase driver now supports FoxPro tables and index file, removing another irritant, although this does not include Visual FoxPro database containers.
Editing code is easier thanks to Code Insight, a set of four coding tools.
Code completion displays valid properties, methods, events and assignment arguments in a scrolling list. Code parameters displays a tool tip when you type a method name, revealing the arguments required. Code templates insert common programming statements, and finally tool tip expression evaluators detect the value of variables when debugging. In the beta version under test, Code Insight was a little slow compared to Visual Basic's similar feature, but even so will save time and prevent mistakes.
New components in Delphi 3.0 make it easier to build an up-to-date Windows interface. TSplitter creates splitter windows, while TCoolbar and TToolbar let you implement toolbars with sliding panels and flat icons as seen in Internet Explorer 3.0. TDBRichEdit lets you bind a rich text control to a blob field in a database, ideal for storing formatted documents.
New Internet components let you build server DLLs for Netscape and Microsoft web servers. Support for Multibyte character sets has been added throughout the product, including the database engine.
An intriguing new component is the DecisionCube, a multidimensional array that caches cross-tabulated data. Several associated components let you pivot data axes and display the results in a grid or graph. Spreadsheets such as Corel Quattro Pro and Microsoft Excel have been offering this kind of facility for several years, but to have it encapsulated into a set of Delphi components is a bonus.
One element that does not feature in Delphi 3.0 is ReportSmith, the reporting tool bundled with previous Delphi releases. At the end of 1996 Borland handed over ReportSmith to another company, Strategic Reporting, and it appears it will no longer be supplied with Borland products. Although powerful, ReportSmith is a large product that was never properly integrated with Delphi, and has its own Basic-like macro language. In its place Borland provide a cut-down version of QuSoft's QuickReport, a native Delphi component.
QuickReport is a better solution for most Delphi users, the catch being that for full functionality the Professional version must be acquired from QuSoft at extra cost.
Delphi does have an ugly side. The two biggest gripes from users of previous versions concern first, the documentation, and second, the database engine.
Unfortunately, the documentation in this beta is too incomplete to judge; but it is likely to remain an issue. One reason is that Object Pascal's long evolution has resulted in too many commands and functions which have overlapping functionality, making confusion inevitable. Another problem is the interaction between the VCL and the Windows API, which forces advanced users to hunt through the VCL source code to see what is happening under the hood.
The problem with the Borland Database Engine is that it is over ambitious.
It aims for universal connectivity to both local data, in dBase or Paradox format, or to SQL server databases using native drivers, or to any data source via ODBC. In this release ODBC support has been improved to level 3.0, but to get the best from the BDE you need to use native drivers, giving Borland a hard task in keeping up to date with databases from different vendors. ODBC is the best supported data access API for Windows, and Borland would have been wiser to follow the likes of PowerBuilder and Visual Basic in making it the optimum route to server databases.
Borland does have its own client-server database, Interbase, and local versions for both Windows NT and Windows 95 are supplied with Delphi.
The intention is for these to be used for development, with the full version and client licences purchased at extra cost when an application is deployed.
Interbase does not have a large market share, so Delphi will more often be used with existing installations of Oracle, Sybase, DB2, SQL Server or others.
Delphi is a flexible product, and like Microsoft's Visual Basic it competes with general-purpose Windows development tools as well as specialist client-server products such as Sybase/Powersoft's PowerBuilder. Since Visual Basic 5.0 has native code compilation along with rich ActiveX features, some of Delphi's advantages have been eroded. Visual Basic is easier to learn, and available throughout Microsoft Office 97 as well as standalone.
But Delphi is more than holding its own. Delphi's Visual Component Library and object-oriented language are a more elegant, powerful solution than Microsoft's Basic. Delphi's integration with the Windows API is superior.
Most API calls can be made without the need of additional declarations, its handling of Windows messages is superior, and there is support for pointers and callback functions.
Another advantage is that unlike Visual Basic, Delphi does not force developers to use ActiveX, with its associated installation and version-control headaches, but does provide this feature when needed. Version 3.0 retains Delphi's position as the most productive general-purpose development tool for Windows.
Provisional prices are:
Standard edition #89.00 including VAT.
Professional edition with additional components and manuals, #399.00 plus VAT.
Client-Server version including SQL links, #1,299.00 plus VAT.
Contact Borland, 0800 454065 www.borland.com
VERDICT: Delphi 3.0
- The best RAD tool for Windows.
- Comprehensive ActiveX support.
- Fully customisable components.
- Language bloat in the runtime library.
- Not the best ODBC client.
- Code not portable to other tools or platforms.
Microsoft seizes control of phishing sites linked with Russian state hackers
Fitness trackers over-estimate the number of steps their users take, analysis of 67 research reports suggests
Everything we think we know about the imminent Apple iPhone 9, iPhone 11 and iPhone 11 Plus launches
All the latest rumours about Apple iPhone Displays, CPUs, launch dates and even prices
Nvidia brings Turing microarchitecture into the high-end gaming segment