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