What's New in Delphi 5
This was a Runtime
Technology seminar held on 28th September, 1999 at the British
Library in London, England and on 1st October, 1999 in Rotherham,
England.
Click here for the files that
accompany this seminar.
IDE
Object Inspector
Int64 property support
Sub-property access in 1 click
Better selection persistence
Graphical property value feedback (also for component developers)
Color
Cursor
ImageIndex
Font category (optional "enhancement")
Property categories
View with or without categories
Category hiding
Forms
DFMs as text by default
Auto-created forms can be disabled
Miscellaneous
Directory browse dialogs
Global desktops (.DST files)
Debugging desktop
Data Module Designer
Drawn relationships stored in .DTI files
Can set up a few properties
Project Browser
New editor options dialog
Visual Studio mapping
Custom mappings (Ctrl+B)
To Do Lists (.TODO files)
Project or unit based
Exporting as text or customisable HTML
Command-line switches
/HM, /HV, /NS, /NP
/B, /M for automated builds & makes
OpenGL Star Wars Easter Egg
RTL/VCL
System unit, multi-threaded string support
TApplicationEvents component
Minimising main form bug fix
Control Panel applets (wizard in File | New… dialog)
Extra standard actions
TToolBar custom drawing
THeaderControl header reordering
TListView images for sub-items, InfoTip, work areas, customisable hover time
Contnrs unit
FreeAndNil
Menus
AutoHotkeys, RethinkHotKeys
AutoLineReduction, RethinkLines
MenuAnimation
Frames
Can be added to palette with right-click
Component editors must not add children in inlined frame, using TComponentEditor.IsInInlined
RTTI
New routines like GetEnumProp
No more PPropInfo records required
IsPublishedProp
Property values returned as Variant with Get/SetPropValue
Dialogs unit
ForceCurrentDirectory for Windows 98/2000
Debugging
FPU window, MMX information
Drag from editor
To watch window
To inspector
To CPU window's stack or dump pane
Run menu
Run Until Return (Shift+F8)
Attach To Process...
Evaluate/Modify dialog can make watch, or load inspector
Watch list can launch inspectors on watch expression
Module list, entry points can be sorted by name or address
Breakpoint properties
Not break
Evaluate expression
Add log entry
Enable a breakpoint group
Editor tooltip on breakpoint gutter mark
Right-click on gutter mark to access properties
Debugger options dialog
Debug launched applications
Allow watch expression evaluation side effects
Thread window
Right-click on a thread and change debugging options for that process
COM/ActiveX
Active Server object
COM object wizard defaults to a type library with Automation marshaling
Type library update dialog
Type library importing
Component wrappers
Servers page of component palette
Overloading of methods with default parameters
Sparse vtable support for VB ActiveX controls
Proper free threading factory support
HResult redefined
CORBA
VisiBroker 3.2 replaced with 3.32
No IDL2Delphi in the box, but should be available for download
Client does less pings to server
Internet
FastNet components relegated to their own page
THTML goes in favour of TWebBrowser IE Automation object
InternetExpress technology for distributed apps on the Web (see later)
Database
TDatabase can execute queries with Execute method
Optional parameters allow SQL parameters, obtaining cursor handle, etc.
ADO native components wrapping up ADO interfaces
MDAC 2.1 installation on CD
Lacking in design-time support
Not an exact replica of BDE hierarchy, e.g. Requery instead of Close/Open
New field types: wide string, GUID, Variant, interface, IDispatch
InterBase Express (IBX)
MIDAS 3
TWebConnection
HTTP connection, in addition to COM, DCOM, OLEnterprise, CORBA, sockets
Can use SSL to deal with firewalls
HTTPSRVR.DLL translates between MIDAS and HTTP and must be in an executable directory on the Web server (e.g. IIS or PWS)
Stateless remote data modules
RDM pooling. RDMs can be shared (e.g. in MTS)
Architecture changes
IProvider -> IAppServer
No requirement for STDVCLxx.DLL
IDataSetProvider is interface implemented by TDataSet descendants
No more TClientDataSet.Provider property
More BeforeXXX and AfterXXX events
DBCLIENT.DLL -> MIDAS.DLL
Miscellaneous
Easy to send custom SQL to server with TClientDataSet.CommandText (and TDataSetProvider.Options.poAllowCommandText)
InternetExpress and XML
Delphi Web applications that can optionally act as MIDAS clients
On the Web Server app (the multi-tier client), use a DCOM connection, or whatever is appropriate
TXMLBroker
TMIDASPageProducer
MIDAS app sends packets as XML instead of Variant byte arrays
JavaScript files
Team Development
TeamSource
Uses a VCS for string/retrieving files
Instead of serial control model, uses parallel control model
Copies files for local work, then requires reconciliation
Branches not supported in V1.0, but planned for future
Drop bookmarks
Compare versions
Will email when change made
International Applications
DecisionCube source
Resource DLL Wizard enhanced
Translation Manager
Translation Repository
Miscellaneous
DecisionCube source
Resource Workshop
Help for virtual key codes
Function category help