The second Delphi 8 update has been signed off, and is going through the last stages of manufacturing etc. Hopefully it will be available for download in the next day or two. Stay tuned to the BDN for more news.
Meanwhile, here's a teaser on what you can look forward to - the README - long...
Delphi 8.0 for the Microsoft .NET Framework Update 2
This file contains important supplementary and late-breaking
information that may not appear in the main product
documentation, and supersedes information contained in other
documents, including previously installed release notes.
Borland recommends that you read this file in its entirety.
IMPORTANT: Delphi 8.0 must be closed before installing this
* INSTALLING THIS UPDATE
* KNOWN ISSUES AND WORKAROUNDS
* ISSUES ADDRESSED BY THIS UPDATE
- NATIVE OPEN TOOLS API
- ASP.NET AND HTML
- ASP.NET DB WEB CONTROLS
- MODELING (ECO)
- THIRD PARTY
* FILES INSTALLED BY THIS UPDATE
* VERIFYING THAT THE UPDATE WAS SUCCESSFUL
* UPDATING INTERNATIONAL PRODUCT VERSIONS
* WARNING ABOUT EDITING THE REGISTRY
INSTALLING THIS UPDATE
* Update 2 includes cumulative maintenance from Update 1. You
can install Update 2 regardless of whether you have
installed Update 1 or not.
* You will need the original Delphi 8 installation media to
install this update.
* This is a self-executing update. Double-click the file to
begin the installation and follow the prompts.
* During the update installation, the following dialog will
prompt you to overwrite your existing bdpConnections.xml file:
"Setup has created a new <bdpConnections.xml> file based
upon the drivers you have selected for installation. Do you
want to overwrite the existing copy of <bdpConnections.xml>
file with this one?"
You should choose "Yes," since the BDP version has now changed
to 126.96.36.199. If you want to preserve your existing connection
information, you can choose not to overwrite the file,
however, you must then change the version of the BDP
assemblies in your bdpConnections.xml file from 188.8.131.52
* This update can not be removed after it is installed.
KNOWN ISSUES AND WORKAROUNDS
After installing this update, you might encounter the following
* If you encounter the following errors when starting the IDE:
"Borland Data Provider. Specified cast is not valid."
"Object reference not set to an instance of an object"
delete the ApplicationSettings.xml in location '<HomeDir>
\Local Settings\Application Data\Borland\BDS\2.0' and restart
* After installing Update 2, a new registry entry, "$(BDS)
\Bin\Borland.Vcl.Design.Xml.dll" = "Borland XML Components" is
added to HKEY_LOCAL_MACHINE\SOFTWARE\Borland\BDS\2.0\Known
If you are starting the IDE for the first time after
installing Update 2, the IDE automatically copies all the
registry settings from HKEY_LOCAL_MACHINE to
However, if you have already started the IDE once before
installing this update, do one of the following to add the new
registry entry to HKEY_CURRENT_USER:
a) In the IDE, choose Component | Installed .NET Components.
In the dialog that appears, select the .NET VCL
Components tab and click Add. Navigate to the Delphi 8
installation bin directory, select
Borland.Vcl.Design.Xml.dll, and click OK.
b) Close the IDE and use regedit to add a new string entry,
"$(BDS)\Bin\Borland.Vcl.Design.Xml.dll" = "Borland XML
Components" to registry key
Assemblies and restart the IDE. Please read the WARNING at
the end of this file before editing your system registry.
* If you encounter errors when compiling or running an
application, delete any referenced assembly files which may
have been copied into the project output directory. For
example, Borland.VclRtl.dll, Borland.Vcl.dll, and other files
that are listed in the "References" node of the Project
Manager for the project. You should also delete all files with
.pdb or .dcpil extensions.
* If you encounter designer errors when opening an existing ECO
project, delete any .dcuil and .exe files belonging to that
project before opening the ECO project. Failure to do so may
result in errors such as "DataGrid received an exception at
design time. Please reset the DataSource and DataMember
property on the grid."
* When using dbExpress MSSQL and TClientDataSet.ApplyUpdates,
you may encounter either of the following errors while
applying updates, due to a SQLOLEDB.DLL limitation:
"Cannot create new transaction because capacity was exceeded."
"Cannot create new connection because in manual or
distributed transaction mode."
To resolve the errors, use one of the following workarounds:
- On the DataSetProvider Options property, make sure
poFetchBlobsOnDemand and poFetchDetailsOnDemand are False.
- Use a BeforeApplyUpdates event to either call CloseDataSets
or Close the connection:
procedure TForm1.DataSetProvider1BeforeApplyUpdates(Sender: TObject;
var OwnerData: OleVariant);
* To use Nevrona Rave Reports with Delphi after installing this
update, you will need to download and install the latest
update to Rave. See the Borland web site for download
ISSUES ADDRESSED BY THIS UPDATE
This readme file lists the maintenance for all editions of
Delphi 8; not all of the features mentioned in this file are
available in all editions of the product.
This update resolves the following issues:
* When declaring a local variable, the Code Completion list
shows parameters, functions, properties, methods, etc., in a
context where it should show only types and namespaces.
* The Code Completion list is not displayed for qualified enum
assignments, or in the uses clause for nested namespaces.
* The Code Parameters tooltip is missing the first parameter for
local procedures and functions.
* If you have a saved desktop setting that does not display the
Object Inspector, and you set the Debug Desktop to <none>,
running and closing the application causes the Object Inspector
to be redisplayed.
* Code Insight shows meta classes for nested types. Selecting
the meta classes results in code that does not compile.
* Nested components are not serialized.
* Properties of type Object or constructors with Object
parameters are not serialized correctly (Quality Central
* Adding a row to the Developer Express component VGridControl
causes an exception (Quality Central 6859).
* Batch files are not saved as part of a project group.
* With Microsoft ClearType active, the Code Editor may flicker
when scrolling a large file.
* Searching through folded code does not work properly.
* Adding an event handler to the Code Editor may result in
duplicate lines of code until the screen is refreshed.
* After changing the IDE desktop layout to Classic Undocked and
running the application, the VCL Form designer is blank.
* When VCL Form designer is open, selecting "File | Print"
does not function.
* Values entered into the Object Inspector for VCL components
are lost unless Enter is pressed before selecting another
control on the form.
* Using the To-Do List with a project group causes access violations.
* After changing the TODO item action status in a To-Do List,
closing the project without saving changes causes an access
* Using a VCL component that resides in a package results in the
error: "Internal designer error: failed to add assembly
* The Object Inspector "Arrange by" setting changes
* Opening a .nfm file causes an "Invalid stream format" error if
the form is in binary mode.
* Double-clicking on a form may cause duplicate lines to be displayed.
* Using Ctrl + Z to undo changes in the Code Editor may result in
an "Assertion failed" error and termination of the IDE.
* When code is inserted in the Code Editor, the lines after the
insertion point are displayed twice until scrolling occurs.
* Adding an inherited form to the Object Repository without first
adding the parent form is erroneously permitted. Subsequently,
attempting to use the inherited form results in the error
"Error creating form : Object reference not set to an instance
of an object."
* When using the scroll bar to scroll to the end of a form, the
form is automatically resized when clicked.
* Repeatedly changing the Object Inspector contents by using the
right-click View command may result in no properties being
* The Installed .NET Components dialog message "Loading cached
ToolboxItem's" contains an extraneous apostrophe.
* A form unit file added to a project by using "Project | Add to
Project" is not listed as a form in the "Project | Options |
* Attempting to add a code snippet that includes extended
characters from the Tool Palette does not actually add the
code to the Code Editor.
* An "Invalid variant operation" occurs when moving the mouse over
a Windows menu.
* Using Ctrl + V to paste the clipboard content into the address
edit box on the Welcome page duplicates the content three
* Setting the mouse pointer on a certain procedure in
Borland.Vcl.Windows.pas displays the following error
"Borland.Vcl.Windows.pas(25): Could not compile used unit
* Invoking Code Insight intermittently results in the error
"Unit2.pas(81): Internal error: ILD6634."
* Dropping a component on a data module and then changing the
desktop setting between docked and undocked may cause the
error "Object reference not set to an instance of an object,"
and access violations.
* The Escape key does not cancel the edit of a Text property.
* When saving a Windows Form application that has a global To-Do
item, either an external exception or an access violation
* When saving a Windows Form application that has a To-Do item
in the project source code, an access violation occurs.
* The tab order for "Project Options | Directories/Conditionals"
is incorrect for package projects.
* Korean character combinations do not work in VCL Forms
(Quality Central 6920 and 6794).
* Adding a column to GridView object (Developer Express
XtraGridSuite) from the designer takes up to three seconds
(Quality Central 6860).
* Code Completion does not work on the right side of ":=" in the
* When declaring a local variable, the Code Completion list does
not show namespaces and the user is not assisted in declaring a
variable type when trying to fully qualify the type with the
* Code Folding looses track of where folded sections are in
the Code Editor (Quality Central 6823).
* Class Completion of a string parameter results in a definition
that escapes the "string" reserved word (Quality Central 7008).
* Class Completion with an array of const parameter results in a
definition that escapes the "const" reserved word.
* When entering multiple lines with the String Collection
Editor, only the last line is saved.
* Exposing a class property on a Windows Form and then switching
to Design view may cause components not to be displayed in the
Designer (Quality Central 7036).
* Adding a TODO item beneath a collapsed region of code causes
the newly added comment to be displayed incorrectly.
* Adding an empty line to the top of the Code Editor may result in
* Copying and pasting text into the Code Editor quickly and
repeatedly sometimes fails with the error "Assertion failed:
amount >= dest - startDest, file..." (Quality Central 7123).
* If syntax highlighting is used and the end of a comment line is
an international character, the IDE may terminate.
* Dropping a SqlConnection or other dbExpress components onto
a VCL Form results in the error "Arithmetic operation resulted
in an overflow."
* F1 Help is not always context sensitive in the Code Editor
(Quality Central 6833).
* The resource compiler does not respect the "Show Command Line"
* The resource compiler does not respect the "Search path" or
"Conditional defines" project options.
NATIVE OPEN TOOLS API
* Most of the IOTAFormEditor methods raise access violations.
* IOTAModule.CurrentEditor sometimes returns incorrect results
for a module that contains a VCL Form.
* IOTAEditorServices.TopBuffer.Module reports the incorrect
active module when the active module has a visual designer
associated with it.
* Form editor notifications do not fire.
* IOTAComponent.GetPropValueByName and SetPropByName do not
work. Calling IOTAComponent.SetPropByName('TabOrder', 0)
fails with the error "The specified cast is invalid."
* IOTAProject.ModuleFileCount always returns 0 for a VCL forms
* IOTAComponent.GetParent always returns nil.
* The IOTAIDEService.FileNotification event does not pass a
OTAFileNotification.ofnFileOpening notify code.
* When using a typed dataset, the DataView Table property cannot
be set in the Object Inspector.
* BdpCommand.ExecuteScalar() fails with a BdpException for
CHAR,VARCHAR and other non-numeric, integer field types.
* The dataset code generated from an .XSD file generates
inaccessible nested types.
* In the Table Mappings dialog, checking the check box and
selecting "Referenced DataSets..." from the combo box doesn't
* In the Table Mappings dialog, clearing the SourceTable combo
and pressing Reset causes an unhandled exception.
* Calling Close on a BdpConnection that's attached to an
MSAccess database doesn't actually close the connection.
* Four byte data truncation occurs with BDP-MSSQL TEXT and IMAGE
* TDBEdit shows both the date and time for a Paradox date field
when the time part of the datetime is zero.
* An exception from HRESULT:E_OUTOFMEMORY can occur when running a
Midas client application which frequently updates and refreshes data.
* Using a TDBLookupComboBox to display a list of data given by a
detail TQuery may result in the error "Field not found" and
access violations (Quality Central 5384 and 4823).
* TGuidField creation fails with the error "Invalid field size."
* TWideStringField.SetAsWideString does not convert strings
correctly (Quality Central 6753).
* Attempting to create a simple DataSnap client that connects to
a Midas server using NVARCHAR fields results in errors,
eventually leading to stack overflow and incorrectly displayed
data (Quality Central 6798).
* Clicking on the second row of DBCtrlGrid results in the error
"Object Reference not set to an instance of an object."
* Accessing a Paradox table through TDataSetProvider and
TClientDataSet components can cause an exception if the table
contains a memo field (Quality Central 7385).
* MSSQL provider returns four extra bytes for an image or text
field. The extra chars occur in the last four bytes of the
* BdpDataReader.GetValue() returns an object of type
System.Byte for a NULL CLOB (Memo) instead of a
* Setting BDPDataAdapter CommandText in the Object Inspector and
then opening the ConfigureAdapter and clicking the OK button
results in the error "System.NullReferenceException: Object
reference not set to an instance of an object."
* Update 2 provides DB2 and Informix drivers for dbExpress.
ASP.NET AND HTML
* Deploying the contents of a default Web application or custom
Web control fails to run on a remote machine because
Borland.Delphi.dll is missing.
* It is now possible to have multiple web.config files in an
ASP.NET project, however, you must first save any existing
web.config files into a project subfolder before using File |
New | Other | Delphi ASP Files -> Web Configuration File.
* When adding a Web Control within a table on a Web Form, the
style sheet settings do not take effect until you move away
from the Web Form and then move back to it.
* Reopening an ASP.NET application may fail with the error
"List index out of bounds."
* Images on pages in subdirectories do not render at design time
if they use the ./ or just the image name. However, they
render correctly at runtime.
* The Web Form designer does not properly parse and represent
tagprefixes for user controls, resulting in a parser error.
* The Object Inspector replaces relative href values with literal
* Renaming an ASP.NET page to "default.aspx" within the IDE
fails because the unit name of "default" is invalid.
* A typed dataset is not retained on a Web Form application.
* Property changes made to Web Controls using the Object
Inspector do not persist.
* For ASP.NET web applications, when the User locale and system
locale are set to Turkish, Global.asax file inherits
Global.Global instead of Global.TGlobal, which causes a
* Select <option> tags are formatted as one continual line,
resulting in truncation and data loss. This seems to only
happen on ASP Forms.
ASP.NET DB WEB CONTROLS
* In a master-detail application that uses DBWebNavigators and
DbWebGrids, applying a change to a detail row without first
moving off the row, does not apply the change to the server.
* Exception messages include extraneous parameter and call stack
* Attempting to undo a change to an inserted row in the middle
of a table in a master-detail-detail application results in
the error "Column 'xxxxxx' is readonly."
* When inserting detail rows into a master-detail
application, then changing the detail row and moving the master
row without posting the changes, the changes do not take
* Inserting multiple rows into a detail table in a master-
detail-detail application may result in a "key violation" error.
* Undoing multiple inserts in a master-detail table results in
a "Readonly key field" error.
* Undoing a master row that has inserted details effectively
strands the detail rows. Undoing inserted rows that have
detail rows is now disallowed.
* If a dataset contains master-detail tables, neither of which
have records, connecting two dbWebGrids to them shows only the
first grid. At design time, the detail doesn't show the
metadata, and at runtime, the detail doesn't show up until you
add rows to the parent table.
* Assigning a DBWebDataSource to a Delphi-based DB Web control
results in the error "Object type cannot be converted to
* RowCount is incorrect after deleting a row in a child table.
* Deleting rows in a detail table and then moving up a row
prevents you from deleting in the detail table of the parent.
* If a table or child table has no rows, inserting rows and then
applying changes without posting the last changed row, the
changes to that row are not posted.
* There are numerous issues involving changes by a DBWeb control
application to the column values included within the
DataView.Sort property. These have been addressed by making
such columns read-only. Changing Sorted columns has been
disallowed in the current version of the DBWeb controls.
* When using DBWebImage on a form and inserting a row or moving
to a row that has no data in the image column, the image
continues to show the last valid image.
* Inserting and then deleting a record in master detail results
in the error "Record not found."
* A resized DBWebDropdown control reverts to its original size
after saving the file.
* A "Get Object reference not found" error occurs on the DBWebGrid
Property Builder when DBDataGrid points to a DBWebDataSource,
which points to a DataView.
* ApplyUpdates fails when there is an ORDER BY clause in the
* If a DBWebGrid uses ButtonColumns (Update/Delete/Select) which
are of type PushButton, the buttons do not work and errors
occur after using them several times.
* Using a Select ButtonColumn does not set the row.
* If a table has columns that are not nullable, an error occurs
when attempting to insert new rows.
* The DBWebNavigator Refresh button is enabled on a child table
when changes have been made to the parent, and on a parent
table when changes have been made to the child. Refresh
should be disabled whenever any changes are made to the
* When a read-write DBWeb application with a DBWebGrid is
connected to a table with a Blob field, and the Blob field is
not the last field, scrolling causes the blob data to become
corrupted. Subsequently, DBImage controls will not show the
* DBWebNavigator now supports XXXButtonVisible for each of the
navigator buttons (for example, ApplyButtonVisible,
* TXMLDocument is now included with the product. This includes
all of the XML runtime and an XML DOM implementation based on
System.Xml from the CLR.
* XMI Export is now enabled.
* XMI Import has been improved (Quality Central 7101 and 7150).
* The IDE could AV when closing all pages (including the Welcome
page) before finally closing the last diagram page.
* Improved support for using keywords as attribute names in the
* Cardinals can now be used as attribute types.
* Cancel-handling has been improved when using the EcoExtender
to generate a schema at runtime.
* Autoforms now come up on the first double-click on a grid.
* A potential for deadlock when using the EcoDragDropExtender
to drag and drop things has been fixed.
* Optimistic locking could cause ArgumentOutOfRangeExceptions.
* DBEvolution recognizes attributes designated NOT NULL and with
no default DB value, and does not proceed.
* Derived attributes are now correctly marked readonly in
* Autoforms now correctly close when the displayed object is
* Abstract operations are displayed in italics in the design
surface as per the UML standard.
* An improved error message is issued when the persistence
mapper has not been properly configured.
* Code generation has been trimmed and improved.
* Support for cross package inheritance has been improved.
* Optimistic locking failed to validate the existence of referred
* Optimistic locking used two transactions; one for checking
conflicts and one for updating. The two transactions have been
merged into one (Quality Central 3123).
* Subscriptions involving list operations have been fixed.
* Object versioning has been fixed.
* If there is a method called PreDelete() modeled on an Eco
class, it will be called when (before) the class is deleted.
* Expressions that reference elements of multi-dimensional
arrays display a "cannot evaluate" error.
* Expressions of type set of enumerated values do not evaluate
* Expressions that reference the length of one-dimensional
arrays display a "cannot evaluate" error.
* Evaluating an element in a multi-dimensional array causes a
"Debugger Internal Error CIL-1246".
* Overloaded default index properties are not completely handled
by the evaluator.
* The debugger does not recognize the IntPtr type.
* Adding a watch for "Length(SomeArray)" causes a "Debugger
Internal Error CEV-3682."
* "Inspecting at Cursor" twice can raise an exception error and
terminate the IDE.
* Even though the "Run until return" option has been removed,
its shortcut remains and causes an error if pressed during
debugging (Quality Central 6760).
* "Modify/Evaluate" cannot handle expressions with accented
* The debug inspector's type cast option raises an error.
* Type casting in the evaluator does not work.
* After performing an action in a debugged application, such
as opening an ADO.NET database connection, attempting to
inspect or watch results in the error: "(compiler error):
symbol is not linked in executable" (Quality Central 7080).
* Stepping while debugging causes the screen to flicker.
* Even with the "Allow side effects in new watches" option
unchecked, the watch view still evaluates a function call.
* An AnsiString or ShortString is displayed as an array of byte
values instead of as a string.
* Variant types do not display their values.
* The evaluator cannot display values of sets.
* Inspecting 'resourcestring' variables causes an error.
* Unable to evaluate individual elements of a class property of
* The debugger cannot evaluate open variant arrays.
* Some class properties cannot be evaluated.
* The evaluator truncates results string to 512 characters (Quality
* Converting a Variant to an AnsiString raises an
* Using Code Browsing (Ctrl+Click) repeatedly may cause an
"Internal error: S3510."
* The compiler generates invalid XML documentation when you
declare a type as an "array of [something]", which may result
in "duplicate attribute" errors in the Internet Explorer XML
* Compiling a package twice results in an erroneous "unit name
* Changing the namespace prefixes section of the project options can
cause an infinite loop in the compiler and termination of the IDE.
* Typecasting a large Longword to an Int64 does not produce the
* Canceling a compile may cause an access violation.
* Under certain circumstances, the compiler issues the error
"Bad packaged unit format" when attempting to produce dcpil
NOTE: If persistent access violations occur when compiling
packages, it may be necessary to delete *.dcuil files
generated from user source.
* Comments are not converted to UTF8 in the generated XML
document unless the source code encoding is UTF8.
* Projects containing both ANSI encoding and UTF8 encoding
source code do not compile correctly.
* If a class is declared as abstract, the compiler d