What's In The New Version Of Delphi?
This UK BUG Masterclass
was held on 7th August, 2001 in Hammersmith, England.
Click here for the files that
accompany this seminar.
Contents
Introduction
BizSnap
WebSnap
DataSnap
IDE
Compiler
COM
Database
CORBA
Actions
VCL Enhancements
RTL Enhancements
Custom Variants
Cross-Platform Development
Translation Tools
This Masterclass will look at the mass of new features added in Delphi 6 (released May 2001), demonstrating as many of them as
time permits. Borland are emphasising certain key areas in this release, primarily:
We will look into these areas as well as all the other improvements made since Delphi 5 (released August 1999).
Below is a bullet point agenda of what we will try and cover.
Note that this agenda is based on a pre-release version of the product and so is subject to change.
Enterprise Edition only
"Full Business-to-Business Web Services Integration"
- Ability to create Web Services in Delphi
- Invokable interfaces are interfaces with RTTI generated on them for remotable invocation.
- Remote interfaced objects (RIOs) implement invokable interfaces in Web Services.
- THTTPSoapDispatcher picks up SOAP messages and dispatches them accordingly.
- THTTPSoapPascalInvoker turns SOAP messages into direct calls to the invokable interface's methods.
- TWSDLHTMLPublish publishes a WSDL document describing the service to non-Delphi clients.
- Ability to connect to Web Services from Delphi client applications
- Non-Delphi Web Services are accessed by importing their WSDL documents to generate interface definitions.
- THTTPRIO acts as a stand-in for the Web Service RIO.
- You call the RIO's interface methods through the THTTPRIO.
- XML Document Manipulation
- TXMLDocument represents an XML document.
- It allows you to read an XML document, edit it save the changes back again.
- XML Data Binding Wizard can read in schema files and generate code that represents the document with a natural and intuitive property-based programming model.
- XML data bindings replace the complex coding required to use the XML Document Object Model (DOM) interfaces.
- Supports the W3C DOM Level 2 specification with platform-independent and vendor-independent interfaces.
- Makes use of any compliant XML parsers installed one the machine.
- XML Transform components are provided to allow XML documents to be used in place of database servers.
- The components transform between client dataset data packets and XML.
- An XML Mapper utility is provided which can read in schema files and allows you to set up the transformations.
Enterprise Edition only
"Brings Power and Speed to Web Application Development"
- WebBroker still present and now supports Apache Web Server.
- Impetus is now on WebSnap, which allows component-based Web server development.
- Allows multiple Web modules in an application.
- Web Page Surface Designers help you build your application surfaces in HTML with instant browser previews.
- XML Tree and XSL Tree displays to present any XML/XSL documents with indentations and syntax highlighting.
- Pre-built scriptable components - datasets, login forms, end-user sessions and so on.
- Page producers and dispatchers for servicing standard XSL-transformed XML pages, logical pages and your own custom adapters and services.
- XSL page producers for combining XML data with XSL transforms.
- Server-side scriptable Web Page components to easily interface with Web site development teams and script writers.
- Server-side scripting with JavaScript, VBScript and any ActiveScript language.
- Active script debugging support
- WebSnap debug server aids debugging Web applications. Allows you to monitor HTTP requests, responses, and response time and to develop WebBroker and WebSnap applications without installing a commercial Web server. Also works with WebBroker applications. (Available in Professional and Enterprise Editions).
Enterprise Edition only
"Lets You Build High-performance Web Service-enabled Middleware"
- DataSnap is the new name for the next version of MIDAS.
- DataSnap does the same job as MIDAS, but now allows you to connect between a client program and an application server through XML/SOAP.
- Application servers can therefore now be Web Services.
- A new SOAP Server Data Module is provided for building application servers with.
- Support for connection brokers has been added, to make it easier to switch the connection used by many components.
- Client datasets now make it easy to get at their data in XML format.
- Window menu
- Internet toolbar for WebSnap applications
- Object TreeView (like hierarchy pane in Delphi 5 Data Module Designer)
- Code editor
- Surface designers (not in Personal Edition)
- Diagram page (from Delphi 5 Data Module Designer, but applicable to all designers) (not in Personal Edition)
- WebSnap pages (only in Enterprise Edition)
- Drag and drop tabs
- Code Completion
- Visual Basic emulation keybinding
- Emacs demo custom keybinding
- Data Module Designer reverts to Delphi 4 functionality.
- Object Inspector
- Properties dialog
- Instance list
- Expandable inline component references
- Form designer
- Context menu
- Tooltips
- Designer page on environment options dialog
- Component Palette
- Page names
- Context menu page items
- Automatic docking can be disabled
- Enumerated types with explicitly assigned ordinality
- New language directives
- platform, library and deprecated
- varargs
- New compiler directives
- $WARN SYMBOL_LIBRARY OFF, etc.
- $SetPEFlags and $SetPEOptFlags
- MSWINDOWS, LINUX and VER140
- $IF and ConditionalExpressions and Defined()
- $ALIGN
- $MESSAGE HINT, $MESSAGE WARN, $MESSAGE ERROR and $MESSAGE FATAL
- $LIBVERSION, $LIBSUFFIX and $LIBPREFIX
- Writeable constants are disabled by default and removed from RTL/VCL source
- CHASM (vs BASM) with new directives and instruction support for MMX, SIMD, Enhanced MMX
and Intel SSE for the Pentium Pro, Pentium III, and Pentium 4 CPUs; and AMD Enhanced 3D
for the AMD K7 CPUs
Not in Personal Edition
- New COM objects can implement any existing, registered interface.
- Neutral threading model support.
- COM objects can be given COM+ attributes
- New wizard for COM+ event objects
- Transactional objects support MTS and COM+. MTS support was exclusive to Delphi 5 Enterprise but transactional objects are supported in Delphi 6 Professional Edition.
- TCOMAdminCatalog allows an application to act as an Automation controller for the COM+ administration tool.
Not in Personal Edition
- dbExpress
- Lightweight database drivers that provide fast access to SQL database servers.
- Deploying a dbExpress application involves deploying one DLL (the server-specific driver) with optional connection information in a text config file.
- Alternatively, everything can be compiled into the executable by using some supplied DCUs.
- dbExpress uses unidirectional datasets for efficiency (no memory buffering, but quite limiting).
- Connect to a client dataset for bi-directional movement (TSQLClientDataSet is a compound component).
- Supports multiple transactions across a single connection
- TUpdateSQL can service multiple update objects.
- dbGo is the new name for ADOExpress
- New compound client dataset components that include built-in provider and source dataset: TBDEClientDataSet, TSQLClientDataSet and TIBClientDataSet
- MyBase is new term for briefcase application using client dataset and XML data
Enterprise Edition only
- IDL2PAS for clients and servers, with associated wizards.
- VisiBroker 3.3 or 4.0x can be specified.
- Support for event and naming services.
- Support for Borland AppServer 4.5.1 SIDL (Simplified IDL) to connect to EJBs.
Not in Personal Edition
- Action main menu and action toolbar components which support actions being dragged on
- Supports setting colours, patterns, bitmaps or banners
- Less frequently used actions can be hidden, as in Windows 2000
- Action manager allows organisation of actions against UI elements
- Action customisation dialog is an end-user version of an action manager
- Many new standard actions have been added
- Rich edit actions for aligning text, bold, italic, etc.
- Help context action
- File menu actions (open, save as, run, exit, etc.)
- Search actions
- Page control and tab actions
- List actions
- Dialog actions
- Internet actions (browse URL, download URL, send mail)
- An action for customising action bars
- Actions now have additional properties, such as secondary shortcut and group index
- TLabeledEdit
- TValueListEditor
- TColorBox
- TComboBoxEx
- Shell sample controls
- Miscellaneous enhancements
- TCheckListBox header colour and background colour
- TListBox auto-completion and virtual listbox support
- New bevel properties
- TDataModule is now in Forms unit to allow smaller UI-less applications to be written
- TThread FatalException property
- TTreeView allows easy custom node creation and enhances sorting ability
- TListView allows easy custom node creation
- TDateTimePicker Format property
- THeaderControl supports column dragging
- TToolBar Menu property
- TStringList case sensitivity
- THashedStringList
- Container enhancements including TBucketList and TObjectBucketList, which are simple hash tables
- TApplication.OnSettingChange reacts to changes in system-wide settings
- TForm supports layered forms with AlphaBlend, AlphaBlendValue, TransparentColor, and TransparentColorValue properties
- INI files and registry objects support binary data via a stream
- Menu items support autochecking
- Publishable interface properties
- Streamable subcomponents
- ConvUtils.pas contains routines for converting between various measures, and comes with a demo
- StdConvs.pas contains variables used by ConvUtils.pas
- DateUtils.pas has many date and time functions in
- StrUtils.pas has additional string manipulation routines, including Soundex support
- Math.pas has new routines and some efficiency improvements
- IInterface is the new base interface. Both IUnknown and IInvokable are based on IInterface
- New Variants unit containing all the Variant-manipulation routines
- Custom data types for Variants are supported
- Platform-independent Variant support now in place
- VarCmplx.pas unit implements a custom Variant for complex numbers
- VarConv.pas unit implements a custom Variant for measurements, such as those in ConvUtils.pas
Not in Personal Edition
- CLX with 160 components
- BaseCLX
- VisualCLX
- DataCLX
- NetCLX
- dbExpress
- Kylix required to compile for Linux
- New name for ITE
- External Translation Manager can be deployed to translators without requiring full Delphi license
Back to top