The Joy Of 6
What's In The New Version Of Delphi?
This is a UK BUG MasterClass to be held on 7th August, 2001 in Hammersmith, England.
here for the files that
accompany this seminar.
--
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:
e-Business with the ability to write and access Web Services and Web applications.
Enterprise development with support for XML, SOAP and enhanced CORBA support.
Cross-platform development at the source level with CLX and dbExpress.
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.
BizSnapEnterprise 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.
WebSnapEnterprise 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.
WebPage 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).
DataSnapEnterprise 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.
IDE
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
Internet toolbar for WebSnap applications
Automatic docking can be disabled
Compiler
Enumerated types with explicitly assigned ordinality
New language directives
platform, library and deprecated
varargs
New compiler directives
$SetPEFlags and $SetPEOptFlags
MSWINDOWS, LINUX and VER140
$IF and ConditionalExpressions and Defined()
$ALIGN
$HINT, $WARN, $ERROR, $FATAL and $MESSAGE
$LIBVERSION, $LIBSUFFIX and $LIBPREFIX
Writeable constants are disabled by default and removed from RTL/VCL source
CHASM (vs BASM) with new directives and instrcution 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
COMNot 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.
DatabaseNot in Personal Edition
dbExpress
Lightweight database drivers that provide fast access to SQL database servers.
Deploying a dbExpress application involves deplying 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 bidirectional 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 briefacse application using client dataset and XML data
CORBAEnterprise 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.
ActionsNot 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
VCL Enhancements
TLabeledEdit
TValueListEditor
TComboBoxEx
TColorBox
THashedStringList
Publishable interface properties
Streamable subcomponents
Miscellaneous enhancements
TListBox auto-completion
TCheckListBox header colour and background colour
TListBox auto-completion and virtual listbox support
New bevel properties
TStringList case sensitivity
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
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 regsitry objects support binary data via a stream
Menu items support autochecking
Shell sample controls
RTL Enhancements
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
Custom Variants
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
Cross-Platform DevelopmentNot in Personal Edition
CLX with 160 components
BaseCLX
VisualCLX
DataCLX
NetCLX
Kylix required to compile for Linux
Translation Tools
New name for ITE
External Translation Manager can be deployed to translators without requiring full Delphi license