(Updated: Dec 13, 2007) I no longer work at CodeGear so this page will no longer be receiving updates.
Note: This is a copy of the Delphi 2007 readme that I've amended to provide additional information related to upgrading applications to Delphi 2007. Additions have been denoted with a solid blue vertical line on the left hand side of the new content.
Delphi 2007 for Win32: Release Notes
This file contains important supplementary information that may not appear in the
main product documentation. CodeGear recommends that you read this file in its entirety.
For information about installation, deployment, and licensing issues, see the Install,
Deploy, and License files located, by default, at C:\Program Files\CodeGear\RAD
Studio\5.0.
Contents
Installing and Uninstalling Issues
- After uninstalling the product, the HKEY_CURRENT_USER\Software\Borland\BDS\5.0 Windows
registry entries are not removed. All of the user's customizations still exist and
can be used after reinstalling.
- You must reboot your system after uninstalling the product and before you uninstall
or install some of the prerequisite software for the product, such as .NET 2.0.
- See the INSTALL.HTM file for other installation information.
- For installation issues on Windows VistaTM,
see Windows Vista Notes.
Upgrading Your Trial Version
Unless you have received different instructions via email or other source, use the
following instructions for upgrading a trial version of Delphi 2007 for Win32
to a Professional or Enterprise version:
- Do the appropriate one of these two options:
- If you purchased Delphi 2007 for Win32 online and downloaded
it over the internet, make sure you are connected to the internet. Then, from the
Start menu, choose CodeGear RAD Studio\RAD Studio Modify, Repair, Uninstall.
- If you purchased and installed Delphi 2007 for Win32
using physical DVD media, insert the original media into the DVD drive. Wait for
the setup launcher application to autorun and select Install.
- When the maintenance dialog is displayed, select Upgrade and click
Next.
- Enter your new serial number.
- Complete the rest of the installer steps as normal.
General Notes
- The demos for Delphi 2007 for Win32 are now installed
in different directories according to how you install the product:
- If you choose All Users during installation, the demos are installed
in C:\Documents and Settings\All Users\Shared Documents\RAD Studio\Demos.
- If you choose Just Me during installation, the demos are installed
in My Documents\RAD Studio\Demos.
- Indy 10 is integrated with Delphi 2007 for Win32. However,
you can install the earlier version, Indy 9, from RAD Studio\5.0\Source.
- To debug web applications, you should start by running serverinfo.exe,
which silently registers itself. This step is required to use the Web Application
Debugger (WebAppDbg.exe, located in the \bin folder of the your installation directory).
- It is possible for .NET framework and .NET SDK to appear in different languages,
such as English and Japanese. The .NET framework installs all of the possible languages
and then determines the language to use according to the system locale. The .NET
SDK, however, installs only the language you select during installation.
- To register a COM server, you need to run (the first time only) with /regserver
as a run parameter. Follow the steps outlined here:
- Create a project.
- Save the project.
- Set Run | Parameters to /regserver.
- Run your project. The application registers and then closes.
- Clear the /regserver setting on the Run | Parameters page.
- If you are a Delphi Component
Vendor and your component installer updates paths in Delphi's registry to include paths to your components, there is one additional
registry key your installer should update.
Under:
Software\Borland\BDS\5.0\Globals
Add (or update if it already exists) a string value called ForceEnvOptionsUpdate.
Assign it a string value of "1." When this registry key has a value of "1," the
next time the IDE is run, it will update the EnvOptions.proj file
on disk to include the path(s) that your installer added. The EnvOptions.proj file
is the mechanism by which the new MSBuild build engine in the IDE is able to include
paths that are listed on the Library - Win32 page in the IDE's
Tools > Options dialog.
If your installer updates any of the following registry keys, it should also add
or update the Globals\ForceEnvOptionsUpdate key:
Software\Borland\BDS\5.0\Library\Browsing Path
Software\Borland\BDS\5.0\Library\Debug DCU Path
Software\Borland\BDS\5.0\Library\Namespace Search Path
Software\Borland\BDS\5.0\Library\Package DCP Output
Software\Borland\BDS\5.0\Library\Package DPL Output
Software\Borland\BDS\5.0\Library\Search Path
- Running an application on Windows XP Service Pack 2 (SP2) that contains a manifest
with the "trustInfo" extension for Windows Vista may cause the computer to restart.
Delphi applications with
runtime themes enabled contain the "trustInfo" extension by default. For more information
on this problem and the hotfix, seehttp://support.microsoft.com/kb/921337.
Top
Windows VistaTM Notes
- In Windows Vista, you must run the installer while logged on either as Administrator
or as a user with administrative privileges. That is, changes to the Program Files
directory require elevated security.
- The registration client occasionally fails on Windows Vista. To work around this
problem, select Allow this program when the Windows Live OneCare
Firewall appears, then exit and restart registration. Do not select Block this
program, because doing so will prevent you from registering afterward.
- Windows Vista does not support the legacy WinHelp help viewer (WinHelp.exe). If
you want to use .HLP files, see the Microsoft website (
http://www.microsoft.com/downloads/details.aspx?familyid=6ebcfad9-d3f5-4365-8070-334cd175d4bb
).
- If you use any of the CommonAVI's provided by the TAnimate component
in Windows Vista, you must also add the component TShellResources
from the Win32 tab of the component palette to your project. Windows Vista no longer
contains backwards compatible shell animations, and the TShellResources
component adds the following replacement animation resources to your executable:
- FindFolder.res
- FindFile.res
- FindComputer.res
- CopyFiles.res
- CopyFile.res
- RecycleFile.res
- EmptyRecycle.res
- DeleteFile.res
- If you are using BDE on Windows Vista, you will need to reconfigure BDE so that
it does not attempt to write files to the C:\<root> directory. To do this,
log on as an administrator and run BDEAdmin.exe, located at Program
Files\Common Files\Borland Shared\BDE. Under Native, click PARADOX,
and change NET DIR to point to a location other than the root directory.
A suggested target is C:\Users\Public\Documents\RAD STUDIO.
Click
here for more information.
- If you rebuild an existing VCL application that uses the TOpenDialog
or TSaveDialog components, or the MessageDlg functions,
and run it under Windows Vista, it uses Vista file and task dialogs rather than
traditional open, save, and message dialogs. If this is not desired, set the global
variable UseLatestCommonDialogs to False at the beginning of a
program to force the original behavior.
- To run and debug VCL for the Web (IntraWeb) applications, you should use Windows
2003 or Windows XP. If you are using Windows Vista, you must turn off User Access
Control (UAC) when debugging VCL for the Web applications. For more information
about IntraWeb, see http://www.atozed.com/intraweb/docs/.
- On Vista with UAC enabled, if an executable's file name includes "setup", "update",
or "install", you cannot debug the program unless the IDE is started under the System
Administrator account. Trying to run executable files that include these strings
outside of the IDE triggers a "User Account Control" dialog requesting the password
for the System Administrator account. Running within the IDE without debugging raises
an error indicating the program requires privilege elevation. Running within the
IDE with debugging raises a process creation error. For more information, see http://blogs.msdn.com/uac/archive/2006/01/13/512776.aspx.
Top
Command Line Notes
- You can now build Delphi
for Win32 projects from the command line using the MSBuild executable. Selecting
the Start menu item RAD Studio Command Prompt launches the command
prompt console, automatically sets the path to the MSBuild executable, and sets
the environment variable for BDS.
Top
Database Notes
Known Problems
-
The new MySQL dbExpress driver, dbxmys30.dll, was tested against LibMySQL.dll from
a 5.0.xx server install. If you intend to use dbExpress against MySQL 4.0.xx, you
should either upgrade your LibMySQL.dll to a 5.0.xx version or use the dbxmysA30.dll
driver with dbExpress. Using an older version of LibMySQL.dll with the current dbExpress
driver for MySQL may result in unexpected behavior.
The following combinations have been tested:
|
LibMySQL.dll (4.0.XX) |
DBXMysA30.dll |
MySQL 4.0.XX Server |
|
LibMySQL.dll (5.0.XX) |
DBXMys30.dll |
MySQL 4.0.XX Server |
|
LibMySQL.dll (5.0.XX) |
DBXMys30.dll |
MySQL 4.1.XX Server |
|
LibMySQL.dll (5.0.XX) |
DBXMys30.dll |
MySQL 5.0.XX Server |
If you wish to use the DBXMysA30 driver, you can both rename the DBXMys30.dll to
DBXMys30.dll.bkup and DBXMysA30 to DBXMys30.dll. Alternatively, you can add a new
entry to the dbxdrivers.ini file that defines DBXMysA30.dll as the LibraryName.
- An error message is displayed when trying to expand a table node from Data Explorer
using libmysql.dll (4.x version): "Attempted to read or write protected memory."
New features
dbExpress 4 framework
Delphi database driver
framework. This is an object oriented driver framework written in Delphi.
Delegate driver support. A delegate driver is a driver
between the application and the actual driver. Delegate drivers allow for pre and
post processing of all public methods and properties of the dbExpress 4 framework.
Delegate drivers are useful for connection pooling, driver profiling, tracing, and
auditing. Delegate drivers are easy to implement. See the source documentation at
the beginning of the DBXCommon unit for more information.
TDBXPool delegate driver. Provides connection pooling for any dbExpress
driver.
TDBXTrace delegate driver. Provides enhanced tracing capability.
Produces Delphi code for
all traced methods and properties.
Extensible Commands. Commands that are not SQL statements or stored
procedures are supported by specifying a custom "command type" property. This property
is a String allowing driver and delegate driver implementers to introduce their
own command type namespace of custom commands. The TDBXPool delegate driver leverages
this capability to implement a "show pools" command, which returns a reader with
information on the current state of all connection pools.
Source code documentation. Works with help insight for all public
methods, properties, and events. XML/HTML documentation can also be generated using
the --doc Delphi compiler
switch.
Single source. dbExpress 4 source code can be compiled for both
Win32 and .NET platforms.
dbExpress 4 source code. Full source code is provided for the dbExpress
4 framework.
Dual interfaced drivers. All CodeGear dbExpress drivers implement
the older dbExpress 3 and newer dbExpress 4 interfaces.
dbExpress 3 adapter driver. The dbxadapter30.dll DLL provides a
dbExpress 4 interface for existing dbExpress 3 drivers. This allows applications
to still use older non-CodeGear dbExpress 3 drivers with dbExpress 4.
Samples
-
CTS. Certification Test Suite for the dbExpress 4 framework. This is a driver compliance
test suite that also provides good examples of using the dbExpress 4 framework directly.
-
Delegates. This demonstrates the ease of use and power of driver delegate implementations
such as TDBXTrace and TDBXPool.
Single source dbExpress VCL components
The unified code base is much easier to read, debug, and maintain.
VCL now accesses dbExpress database drivers using the new dbExpress 4 framework.
New database Drivers
- MySql 4.1 and 5.0
- Interbase 2007
New Unicode enabled database drivers
- MySql 4.1 and 5.0
- Interbase 2007
- Oracle
Note that Unicode support for MS-SQL was already in the product.
Oracle dbExpress Unicode and ANSI drivers
Both Unicode and ANSI drivers ship with dbExpress. The Unicode version is dbxoraW30.dll
and the ANSI version is dbxora30.dll.
Database Change Notes
dbExpress 2.5 not supported
dbExpress 2.5 is no longer supported in this release.
New MySql dbExpress driver
The new MySql driver is called dbxmys30.dll. This driver supports Unicode strings.
This driver works only with the version of MySql's libmysql.dll for MySql 4.1 and
5.0 servers. dbxmys30.dll does not work with older versions of libmysql.dll.
The old MySql driver is still included in the product but has been renamed to dbxmysA30.dll.
The "A" has been added to the DLL name to signify that this older driver only supports
ASCII strings, not Unicode. dbxmysA30.dll can only be used with versions of MySql's
libmysql.dll that support MySql servers version 4.0 and below.
Delegate drivers
Two delegate drivers are provided:
dbExpress VCL components
Most applications are not affected by changes to the dbExpress VCL. However, there
are some methods, properties, events, constants, and enums that were removed or
replaced with equivalent functionality. These changes were required for these reasons:
- Shift to using the more Delphi-like
dbExpress 4 framework instead of the more C-like COM interfaces that dbExpress 3
used.
- Single sourcing of the dbExpress VCL components. There is now a higher level of
compatibility between the native and .NET versions of the dbExpress VCL components.
Known compatibility issues:
- The dbExpress unit is deprecated, is empty, and consequently no longer needed. Most
of this unit's content has been moved to either the DBXCommon or SqlExpr units.
- Virtually all of the classes, interfaces, enums, constants that were in the dbExpress
unit have either been removed, renamed, or replaced. Renamed and replaced items
can be found in the interface section of the DBXCommon or SqlExpr units.
- Static driver libraries are no longer supported. These static libraries linked into
Delphi units that allowed
the native drivers to be linked into a Delphi executable file and are no longer supported. These Delphi units are: DBExpasa, DBExpDB2, DBExpInf,
DBExpINT, DBExpMSS, DBExpMYS, DBExpMySQL, DBExpORA, and DBExpt.
dbExpress application deployment for the Win32 platform
Using packages
Project|Options|Packages must have the Build with runtime packages
option checked. DbxCommonDriver100.bpl must be deployed with your application. As
with prior product releases, if your application uses any of the DBX*.dll dynalink
dbExpress drivers, they also must be deployed.
Unit interface compatability
For the most part, the product maintains unit interface compatibility with BDS2006.
However, the dbExpress VCL breaks this compatibility in three units: SQLExpr, DBXpress,
and SqlConst. Only SqlExpr contains components. DBXpress has been deprecated. To
avoid conflicts with the BDS2006 version of dbExpress100.bpl, dbExpress100.bpl has
temporarily been renamed dbExpress4100.bpl. The "4" signifies that this version
of the dbExpress package is for version 4 of the dbExpress drivers. When version
110 of the VCL ships, the normal VCL naming convention will be resumed and dbExpress4100.bpl
will be renamed dbExpress110.bpl.
Supported Servers
dbExpress
- InterBase 7.5.1, 2007, 6.5*,
7.0*, 7.1* (All) (Driver dbxINT30.dll, Client GDS32.DLL) Note:
After installing InterBase, you must open the InterBase Manager window, de-select
the "Run InterBase as a service" option, and start the server before you
can connect to a database.
- Oracle 10g, 9.1.0*, 9.2.0* (Ent) (Driver dbxORA30.dll, Client OCI.DLL)
- DB2 UDB 8.x, 7.x* (Ent) (Driver dbxDB230.dll, Client db2cli.dll)
- MSSQL 2000, 2005 (Ent) (Driver dbxMSS30.dll, Client oledb.dll)
- Informix 9.x (Ent) (Driver dbxINF30.dll, Client isqlb09a.dll)
- Adaptive Sybase Anywhere 9, 8* (Ent) (Driver dbxASA30.dll, Client
dbodbc9.dll)
- Sybase 12.5 (Ent) (Driver dbxASE30.dll, Client libct.dll & libcs.dll)
- MySQL 5.0.27, 4.1.22* (All) (Driver dbxMYS30.dll, Client libmysql.dll)
- MySQL 4.0.24 (All) (Driver dbxMYSA30.dll, Client libmysql.dll)
Note: No change from dbxMYS30.dll of Delphi2006. It is renamed.
* Driver not fully certified with this version of the database.
Top
Debugger Notes
- Attempting to place a data breakpoint in code may result in program corruption.
For example, placing a data breakpoint on a VMT slot may result in the program jumping
to an incorrect location (the "last" byte of the address will be overwritten
with 0xcc).
- Installation of System Mechanic 7 Pro disables the functionality of the integrated
debugger. The observed behavior will be immediate termination of the process and
a diagnostic in the Event Log View. If the product is installed, debugging functionality
can be restored by disabling execution of the "iolo DMV Service" via the Services
manager.
Top
Documentation Notes
- If you encounter package errors and the online help for the IDE does not work, the
problem might be caused by an incomplete installation of the .NET 2.0 framework
SDK. The help viewer that is used by Delphi 2007 for Win32
is part of the .NET 2.0 framework SDK. When the .NET framework is explicitly installed,
all three options need to be checked (including Product Documentation).
To remedy this problem:
- Uninstall the .NET framework SDK, located in C:\Program Files\Microsoft.NET\SDK.
- Uninstall Delphi 2007 for Win32.
- Reboot your system.
- Reinstall Delphi 2007 for Win32. This step also installs the .NET
2.0 framework SDK with all the pre-requisites.
Top
International Notes
- Breakpoints are not recognized and are marked as "invalid" if a source
file name containing non-English characters is placed in the project path.
- If you are using IME (input method editor), a sporadic error caused by a .NET framework
bug might result in a long delay (approximately 5 minutes) followed by an error
message. After two or three times, this error appears to stop occurring. All language
windows are potentially affected.
To avoid this error, create or update the following registry entry:
HKEY_CURRENT_USER\Console
Name LoadConIme
Type REG_DWORD
Data 0
Detailed information from Microsoft regarding this issue is available at http://support.microsoft.com/kb/872800/EN-US/.
Top
Together Notes
- After removing Together support from a project, it is not possible to remove the
diagram support files from the Project Manager. To remove these files, select the
IDE main menu item, Project | Remove from Project. The list of items displayed are
the diagram support files. They may be multi-selected and removed.
- If modeling support is disabled when you select Together refactorings, you will
see a message asking if you want to enable modeling support for project. You must
respond "Yes" to this message in order to use Together refactorings.
Top
VCL/RTL Notes
- Three new VCL dialogs have been added for Windows Vista: TFileOpenDialog,
TFileSaveDialog, and TTaskDialog. These are implemented
using Windows Vista specific APIs. If the global variable UseLatestCommonDialogs
is set to True, these Vista dialogs are automatically used in place of the TOpenDialog
and TSaveDialog components, and the MessageDlg functions, when
running under Windows Vista .
-
Delphi 2007 adds a new property to TApplication called
MainFormOnTaskBar . It defaults to True for new Delphi
2007 applications and False for existing ones. The property controls
several aspects of how VCL applications perform with regard to minimize/maximize/restore
operations in Windows. Be aware that it will affect the Z-order of your MainForm,
in the event your applications depend on the old behavior. MainFormOnTaskBar is
intended to be set at startup and persist throughout the duration of the application,
changing this property at runtime could result in unexpected behavior. The major
reason for this change was to better support several new features available on Windows
Vista's Aero Theme. To update existing VCL applications, add the following line
to the project's .dpr after “Application.Initialize;”:
// Set MainFormOnTaskbar before any forms are created
Application.MainFormOnTaskbar := True;
Refer to
this post for more details related MainFormOnTaskBar changes.
Also, refer to
this page for a list of changes to the VCL since Delphi 7.0.
To ensure the proper function of the MainFormOnTaskbar property it should be set before the construction of any forms in your application.
The VCL's DoubleBuffering logic has undergone some performance optimizations and as a result now uses SetWindowOrgEx. If you are using DoubleBuffering be sure to check that any Windows API's that you use for drawing respect the origin as set in TWinControl.WMPaint in Controls.pas.
Top
SOAP Server
The default Delphi SOAP Server
application with Web App Debugger class does not compile. There are two possible
workarounds:
- Include $(BDS)\Lib\Indy9 in the Library path and remove $(BDS)\Lib\Indy10. However,
this forces the application to use Indy9.
- Compile IndySockTransport and sockapp and put it in $(BDS)\Lib\Indy10.
Top
New version of TeeChart
Delphi 2007 includes the latest version of the TeeChart component which means it's not binary compatible with prior versions of Delphi. The new TeeChart package names contain "7100" which denotes that they are the v7 release thought this will almost certainly be an issue for people who use TeeChart when upgrading applications from BDS 2006 or before.
You'd have to check with Nick Hodges but I believe the thinking was that the upgrade to v7 was worth breaking backwards compatibility for this particular third party control and I can't say I'd disagree. and It had been a number of years since the TeeChart components had been upgraded which is why the decision was made to include the update in a release which we've otherwise touted as backwards compatible.
Top
Third Party Issues
- TntOpenDialog and TntSaveDialog fail on Vista when UseLatestCommonDialogs = True. The savedialog will be shown for both TntOpenDialog and TntSaveDialog and the Execute function returns False. See also
- As a result of optimizations made to the doublebuffering logic in VCL some DevExpress Toolbar icons may render incorrectly (as black squares). DevExpress was made aware of this issue prior to Delphi 2007 RTM so contact DevExpress for more details.
Top
Interface Compatibility
Delphi 2007 maintains unit interface/binary compatibility with BDS 2006 with regard to the RTL/VCL. The net effect is this should significantly reduce the time/work necessary to "upgrade" an application from BDS 2006. In this release the RTL/VCL has had bug fix work and additional features added in a manner which is backwards compatible with BDS 2006. which means compiled files from BDS 2006 can be used directly with the Delphi 2007 compiler incuding .DCU, .DCP and .BPLs.
NOTE: Delphi 2007 includes an updated version of TeeChart which is not binary compatible with BDS 2006. There will be additional work to upgrade code that relies on TeeChart components. Click
here for more information.
Top
Installing Components
With the advent of the Borland Developer Studio the IDE no longer has a Component|Install Component menu item.
Here is a blog post which explains options for installing components in BDS/Delphi 2007.
Top
Copyright 2007 CodeGear Software.
All rights reserved.