Release Notes for Delphi and C++Builder XE

By: Kris Houser

Abstract: This is the updated version of the Readme.html file that is installed with the product.

    Release Notes for Embarcadero Delphi and C++Builder XE

This file contains important supplementary information that might not appear in the main product documentation. We recommend that you read this file in its entirety. For an updated version of these Release Notes, see the Embarcadero Developer Network article  (http://edn.embarcadero.com/article/40775).

This document refers to the "product" when the information applies to Delphi XE and/or C++Builder XE.

For information about installation, deployment, and licensing issues, see the Install, Deploy, and License files located, by default, at C:\Program Files\Embarcadero\RAD Studio\8.0.

    Contents

    Installing, Uninstalling, and Upgrading Your Product

  • Before installing, uninstalling, or upgrading the product, see the Install.htm and License.rtf files for detailed information about installation and licensing issues. The Install.htm file gives the system and free space requirements for installing Delphi and C++Builder XE, as well as installation and upgrade procedures.

    Where to find the Install.htm file:

    After installation, all the release notes (including the Install.htm and License.rtf files) are located by default at C:\Program Files\Embarcadero\RAD Studio\8.0\..

    General Notes

Samples:  The Demos for the product are now called Samples. Samples are defined as source code for full projects.

To browse the Samples directory, select Start | Programs | Embarcadero RAD Studio XE | Samples.

The Samples are installed in directories according to the way you install the product and whether you are using Windows Vista® or Windows 7TM:

  • If you choose All Users during installation, the demos are installed in C:\Documents and Settings\All Users\Shared Documents\RAD Studio\8.0\Demos.
  • If you choose Just Me during installation, the demos are installed in C:\Documents and Settings\username\My Documents\RAD Studio\8.0\Demos.
  • On Windows Vista, if you choose All Users during installation, the demos are installed in C:\Users\Public\Documents\RAD Studio\8.0\Demos.
  • On Windows Vista and Windows 7, if you choose Just Me during installation, the demos are installed in C:\Users\username\Documents\RAD Studio\8.0\Demos.

Earlier Product Versions Are Licensed to XE Customers:  Licenses are included with the product that enable you to download and use previous versions of the product, as follows: 

  • Delphi XE includes licenses for Delphi 2010, 2009, 2007 and 7. 
  • C++Builder XE includes licenses for C++Builder 2010, 2009, 2007 and 6.
  • RAD Studio XE includes all the earlier version licenses for both Delphi and C++Builder.
For more information about licenses for earlier versions, see the Install.html file.

Debug with WebAppDebugger:  To debug WebSnap and WebBroker applications using the WebAppDebugger, 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 your installation directory). 

WinHelp: The legacy WinHelp viewer (WinHelp.exe) is not implicitly registered by RAD Studio. If you want to use .HLP files from an application, you need to add "WinHelpViewer" to the uses list of any unit included in the application. To download the WinHelp viewer, visit the Microsoft website:

http://www.microsoft.com/downloads/details.aspx?familyid=6ebcfad9-d3f5-4365-8070-334cd175d4bb.

IntraWeb Documentation:  For information about IntraWeb, including help for the VCL for the Web components, see http://www.atozed.com/intraweb/docs/.

IDE Support of Unicode Characters Outside the Basic Multilingual Plane:  Windows Vista, Windows7, and future OS's correctly display the font for any language. On XP operating systems, however, the font that the IDE uses (Tahoma, which ships with English versions of the operating system) does not support the display of characters outside the basic multilingual plane. Characters that use surrogate pairs will not display correctly in some parts of the IDE including the Object Inspector. To enable correct display, it is necessary to install supplemental language support into Windows. This is done through the Regional and Language Options item in the Windows control panel. For additional details, see http://blogs.embarcadero.com/nickhodges/2008/07/17/39073 .

    Registry Keys for Component Vendors

If you are a VCL Component Vendor and your component installer updates paths in the registry to include paths to your components, there is one additional registry key your installer should update in:
HKEY_LOCAL_MACHINE\Software\Embarcadero\BDS\8.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 runs, it updates 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\Embarcadero\BDS\8.0\Library\Browsing Path
  • Software\Embarcadero\BDS\8.0\Library\Debug DCU Path
  • Software\Embarcadero\BDS\8.0\Library\Namespace Search Path
  • Software\Embarcadero\BDS\8.0\Library\Package DCP Output
  • Software\Embarcadero\BDS\8.0\Library\Package DPL Output
  • Software\Embarcadero\BDS\8.0\Library\Search Path

    Windows VistaTM Notes

Install With Admin Privileges:  In Windows Vista, you must run the installer while logged on as a user with administrative privileges, because changes to the Program Files directory require elevated security.

Restart the Registration Client:  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 prevents you from registering afterward.

WinHelp:  Windows Vista does not support the legacy WinHelp help viewer (WinHelp.exe). If you want to use .HLP files, you need to add the WinHelp32.exe viewer to the uses list of any unit included in the application, and download the WinHelp32 viewer from the Microsoft website http://www.microsoft.com/downloads/details.aspx?FamilyID=6ebcfad9-d3f5-4365-8070-334cd175d4bb. See the related item under General Notes. You should migrate your help system to HtmlHelp if possible.

TAnimate and TShellResources:  If you use the TAnimate component in Vista or in Windows 7, you must also add the component TShellResources (under the Win32 tab of the Tool Palette) to your project. Adding TShellResources adds the following resources:

  • FindFolder.res
  • FindFile.res
  • FindComputer.res
  • CopyFiles.res
  • CopyFile.res
  • RecycleFile.res
  • EmptyRecycle.res
  • DeleteFile.res

Reconfigure BDE:  If you are using BDE on Windows Vista or Windows 7, you 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.

Manifest Problem:  The computer might restart when you add a manifest that has the Windows Vista extension to an .exe file or to a .dll file in Windows XP Service Pack 2 (SP2). For more information on this problem and the hotfix, see http://support.microsoft.com/kb/921337.

Selecting Pre-Vista Dialogs:  If you rebuild an existing VCL application that includes common dialog components and run it on a Vista system, 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 false at the beginning of a program to force the original behavior.

IntraWeb on Vista:  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, including help for VCL for the Web components, see http://www.atozed.com/intraweb/docs/.

Debug Requires Admin:  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.

    Delphi Notes

The Delphi compiler now outputs .hpp header files by default.  This is a change from past releases.  For example, if you attempt to import a DLL by ordinal value, the compiler issues "E1025 Language feature not supported" because .hpp generation  is not compatible with importing a DLL by ordinal value. However, you can import a DLL by ordinal value if you turn off .hpp generation.  Go to the Project > Options > Output - C/C++ page, and for the option C/C++ Output file generation, select a value that does not include headers, such as "Generate DCUs only."

    C++Builder Notes

    Limitation on DataSnap Servers for C++

If you want to expose TObject-based types in a C++ Datasnap Server, the types should reside in a Delphi package. Go to Project > Options > Packages and check the Build with runtime packages option.

    System.UnicodeString.t_str() Now Deprecated

The UnicodeString.t_str() function now always returns wchar_t* regardless of the current _TCHAR mapping. 

This change does not affect you if you use _TCHAR mapping = wchar_t.  In recent releases, t_str() returned either const char* (if _TCHAR was mapped to char), or const wchar_t* (if _TCHAR was mapped to wchar_t). If _TCHAR mapping is set to char, you cannot assign the result of the t_str() function to something that does not support wchar_t (a compiler error is emitted in this case).  

In order to use char values, you need to convert the data as in the following example:

Before:   mystr.t_str()

Now:   AnsiString(mystr).c_str()

For the first product shipment, the help has not been updated to describe this change.

    ActiveX Libraries Must Use Static RTL and Packages

All C++ ActiveX libraries (using either ATL or DAX) must use static RTL and packages. To do this, choose Project > Options, and then:

  • On the C++ Linker page, check False for Link with Dynamic RTL.
  • On the Packages page, uncheck the Build with runtime packages option.

    Specifying WebSnap Directories

If you are using C++Builder with WebSnap, ensure that the executables are written to the same directory as the HTML files. On Project>Options>Paths and Defaults>Final Output, enter a dot (".") so that the executable is written to the project directory.

    Resolving Code Completion Problems

Infrequently, C++ code insight might fail or provide incomplete results when a project's precompiled header is regenerated. If this situation is encountered, one of the following will fix the problem:

  • Re-Make the project
  • Delete the precompiled header
  • Clean and Make the project

    Using the Delphi DesignIntf and DesignEditors Tools

If you are creating a C++ package that contains a Delphi unit that uses the DesignIntf and DesignEditors tools, you must choose Project > Options > Delphi Compiler > Other Options. In Use these packages when compiling, add DesignIDE in the combo box.

    Using WinHelp in C++ Applications

To use WinHelp in a C++ application:

  1. Add: #include <WinHelpViewer.hpp>.
  2. Refer to an object declared in the WinHelpViewer header file.
    void LinkWinHelp()
    {
      # pragma startup LinkWinHelp 66
      if (WinHelpTester != NULL)
          WinHelpTester->GetHelpPath();
    }

To download the WinHelp viewer, visit the Microsoft website: http://www.microsoft.com/downloads/details.aspx?familyid=6ebcfad9-d3f5-4365-8070-334cd175d4bb.

    Database Notes

  • The following database drivers are not Unicode-enabled:

    • DB2
    • Sybase ASE
    • Informix
  • If you are upgrading a database application from Delphi 2007 to Delphi XE, the connection might fail.  The workaround is to add DBX<database_name> to your uses clause.  For example, if you are using a TSQLConnection and connecting to an Oracle database, you need to add DBXOracle to your uses clause.

  • The following combinations have been tested:

    LibMySQL.dll (5.1.XX) DBXMys.dll MySQL 4.0.XX Server
    LibMySQL.dll (5.1.XX) DBXMys.dll MySQL 4.0.XX Server
    LibMySQL.dll (5.1.XX) DBXMys.dll MySQL 5.0.XX Server
    LibMySQL.dll (5.1.XX) DBXMys.dll MySQL 5.1.XX Server
  • Driver co-existence: If you have a previous version of the product installed and try to use the older version, it may load the drivers from this release when running from the IDE. This is because the bin directory is ahead in the system path. To use the older drivers one solution is to add an Override to your path in Tools > Options > Environment Variables and place your older bin directory at the front of the path.

  • Blackfish SQL:  Blackfish SQL is not supported by Delphi XE and C++Builder XE.

    Supported Servers

dbExpress

  • InterBase 2009, 2007, 7.5.1, 7.1*, 8.0*, 6.5* (All) (Driver dbxINT.dll, Client GDS32.DLL)
  • Firebird 2.1, 1.5 (Ent) (Driver dbxfb.dll, Client fbclient.dll)
  • Sybase SQL Anywhere 11, 10, 9, 8*, (Ent) (Driver dbxASA.dll, Client dbodbc*.dll)
  • DB2 UDB 9.5, 9.1, 8.x*, 7.x* (Ent) (Driver dbxDB2.dll, Client db2cli.dll)
  • Informix 9.x (Ent) (Driver dbxINF.dll, Client isqlb09a.dll)
  • Microsoft SQL Server 2008, 2005, 2000 (Ent) (Driver dbxMSS.dll, Client sqlncli10.dll)
  • MySQL 5.1, 5.0.27, 4.1* (All) (Driver dbxMYS.dll, Client libmysql.dll)
  • Oracle 11g, 10g, 9.2.0*, 9.1.0* (Ent) (Driver dbxora.dll, Client OCI.DLL)
  • Sybase ASE 12.5 (Ent) (Driver dbxASE.dll, Client libct.dll & libcs.dll)

* Driver not fully certified with this version of the database.

    Modeling Notes

When you open the context menu (right-click) on the Model View tab of the Project Manager, the command Open Diagram might not be enabled. However, you can open the diagram view by double-clicking the grayed-out Open Diagram command.

    Debugger Notes

  • Attempting to place a data breakpoint in code might result in program corruption. For example, placing a data breakpoint on a VMT slot might result in the program jumping to an incorrect location (the "last" byte of the address is overwritten with 0xcc).

  • Installation of System Mechanic 7 Pro disables the functionality of the integrated debugger. The observed behavior is immediate termination of the process and a diagnostic message 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.

    Documentation Notes

  • RAD Studio help is now built from a docwiki, and all RAD Studio users are invited to participate in the docwiki located at:

    http://docwiki.embarcadero.com/RADStudio/XE/en/Main_Page

    Localized versions of the docwiki are also available; see the navigation sidebar in the main docwiki.

  • The Microsoft Windows Platform SDK help is no longer installed by default with the product help. However, you can choose to install the MS SDK Help when you install the help by setting the MS SDK Help item on the Select Features page to Will be installed on local hard drive. For more information, see the Install.html file, available on EDN at http://edn.embarcadero.com/article/40774.

  • You can choose specific help volumes (such as MSDN Online) to be used in Search and Index functions in the online help. For example, you can limit your searches to include only the local help provided by RAD Studio, and you can specify that the help viewer will display local help first or help from online providers first.

    To specify the help source for the help viewer, select Tools > Options > Help > Online. Select the option "Try local first, then online" to enable the browser to find the proper RAD Studio Help files and to display search results from the local help first, followed by results from online providers.

    For more information about using the help viewer to your advantage, see the full EDN article, "Getting the Best Results with RAD Studio Online Help" at http://edn.embarcadero.com/article/37562.

  • Microsoft Document Explorer 2008 (dexplore.exe) is required to view Delphi and C++Builder XE online documentation.  If you do not have Microsoft Document Explorer 2008 installed, it will be installed as part of the Help System Install.  There is a known issue that a pre-release version of the license for Microsoft Document Explorer XE is displayed.

  • You can obtain updates of the help system by using the same process you use to obtain product updates. Select Start | Programs | Embarcadero RAD Studio | Check for Updates.

    International Notes

    Migrating ITE/ETM Projects from Delphi 7 

To upgrade an ITE/ETM project from Delphi 7, your dfms need to be in text format. To perform this conversion, use convert.exe (installed by default to C:\Program Files\CodeGear\RAD Studio\8.0\bin).

After the project is imported and you have updated your resource dll with the Resource DLL Wizard, you might experience an issue where the resource dll does not seem to be updated.  In this case, simply performing the update one more time in the wizard resolves the problem.

    Using your user-locale as the UI locale

It is not recommended that you use your user-locale for the UI locale. The user-locale controls the format of  numbers, date and time. The UI-locale controls menu, error message and all human-readable text for the specific language.

VCL/RTL selects the same localized module that Windows uses. But if you want to use the user-locale to select the UI module, use the following solution.

Create a new unit, OverrideUIWithUserLocale.pas, and paste the following code:

unit OverrideUIWithUserLocale;

interface

implementation

  uses Windows;

initialization

  SetLocaleOverride(GetUILanguages(GetThreadLocale));

end.

Add this OverrideUIWithUserLocale unit as the first entry of your project’s uses section:

program Project1;

uses

  OverrideUIWithUserLocale,
  Forms,

  Unit1 in 'Unit1.pas' {Form1};

    VCL/RTL Notes

    Runtime Themes and TImageList.ColorDepth

If you set the TImageList ColorDepth property to cd32Bit and the ImageList contains transparent images, you must enable Runtime Themes so that the images will blend properly when drawn on controls.

    Unicode Problem in ClientDataSet.SaveToFile to XML

If international characters are used in the String/Memo fields, TCustomClientDataSet.SaveToFile to XML might generate incorrect data.  For example, spaces might appear in place of accented characters.

    SizeOf Problem for TNotifyIconData

Due to changes in the Windows SDK, calling SizeOf(TNotifyIconData) will yield incorrect results on Windows versions prior to Windows Vista. Calling the TNotifyIconData.SizeOf method returns the correct size on all versions of Windows.

    TStringList Behavior when OwnsObject is True

When OwnsObjects is True for a TStringList, the list items are destroyed before the associated objects.

    SOAP Server Notes

  • If you invoke the WSDL Importer wizard using the path File > New > Other > WebServices > WSDL Importer, and you enter an invalid URL, error messages such as the following might occur and you might receive an offer to report the error to Embarcadero Technologies:

    • Unable to load WSDL File/Location: <wrongURL>.  Error [Empty document].
    • Unable to load WSDL File/Location: <wrongURL>.  Error [Whitespace not allowed at this location]

    The preferred workaround is to start the WSDL Importer using the alternate pathway (Component > Import WSDL). The error should then be caught inside the wizard.

  • The Win32 SOAP server support generates the older RPC|Encoded style WebServices. If you want a document/literal service or a service of any other WS-I compliant style, you should build your SOAP server using Delphi Prism, which supports the SOAP specifications that are supported by the .NET framework, including WS-I compliant styles.

    WebSnap Notes

Using the File > New > Other > WebSnap > WebSnap Application Wizard: If you create a new Delphi WebSnap application and specify the application to be either an ISAPI  Dynamic Link Library or a CGI Stand-alone executable, the project might not compile.  The following error message is displayed:

E2003 Undeclared identifier 'WebModuleClass' (Delphi)

To resolve the error condition, simply delete the line of code that caused the error, and the project will compile.

    Translated and Updated Versions of these Release Notes

Valid HTML 4.01 Transitional

Copyright 2010 Embarcadero Technologies, Inc. All rights reserved.





Server Response from: ETNASC04