델파이 7의 첫번째 업데이트가 발표 되었습니다.
아래는 원문 입니다.
ISSUES ADDRESSED BY THIS UPDATE
This readme lists the maintenance for all editions of Delphi 7;
not all of the features mentioned in this file are available in
all editions of the product.
This update resolves the following issues:
IDE
* Using the up/down arrow keys to navigate and select items from
the Code Completion window sometimes skips items (Quality
Central 2875).
* In the Project Manager, units are incorrectly displayed in the
order that they are listed in the USES clause, rather than
alphabetically.
=======================================================
CORE DATABASE
* TFMTBCDField initializes to size 8 instead of size 4, allowing
the system to initialize precision to 7 and size to 8
(Quality Central 5938).
* Using a TDBLookupComboBox to display a list of data given
by a detail TQuery results in the error "Field '' not found"
(Quality Central 5384 and 4823).
* TDBRadioGroup maintains its focus on the most recently
selected item, even after an edit has been canceled
(Quality Central 2109).
=======================================================
DATASNAP
* After deleting a row from a TClientDataset, sometimes the
delta dataset still contains a record. This happens if you
populate the Nested Dataset field before populating another
field that precedes it in the field order.
* The TClientDataSet.ApplyUpdates method fails if the dataset
contains only changes to fields that have the
ProviderFlags.pfnUpdate property set to False
(Quality Central 2338).
* TClientDataSet does not order correctly on a TLargeIntField
when used in an index or in the IndexFieldNames property
(Quality Central 1050 & 2626)
* TAggregateField returns an incorrect value after a
filter was used and then cleared (Quality Central 1712).
* A "Key violation" exception may incorrectly be generated
when using poFetchDetailsOnDemand with a nested dataset that
also has an InternalCalc field (Quality Central 2011).
* TClientDataSet may contain invalid Delta entries when using
poPropogateChanges. (Quality Central 2019 & 2333).
* Editing the value of an InternalCalc field on a nested
TClientDataset causes the ChangeCount property of the
parent dataset to increase (Quality Central 2027).
* A TLargeIntField cannot be used as a linking field in a
master/detail relationship. Doing so results in the
error "Cannot access field <fieldname> as type variant."
* TClientDataSet doesn't save data to file when FileName is
set and there is no existing file on disk
(Quality Central 2307).
* Using the Delphi 7 version of midas.dll to open an XML file
that was saved with the Delphi 6 version of midas.dll results
in an illegal operation.
* Incorrect filter expression parsing occurs when parsing a
value that contains a quote in TClientDataSet. The expression
parser incorrectly treats the rest of the expression as a
formula (Quality Central 1266).
* TClientDataSet.ChangeCount will return an incorrect value
when editing the value of a TStringField or a
TWideStringField and then reverting it to the original value
(Quality Central 2717 & 4508).
* Canceling an update to an individual field by assigning the
"unassigned" (varEmpty) value to TField.NewValue in the
TDataSetProvider.BeforeUpdateRecord event handler does not
work (Quality Central 3660).
* TClientDataset InternalCalc fields are reset to null after
calling the ApplyUpdates method when using
poPropogateChanges (Quality Central 3777).
* When using incremental fetching on a TClientDataset with
parameters, the associated TDatasetProvider will repeatedly
return the same set of records (Quality Central 3515).
* TClientDataset.FindKey will fail with an list index error
when used on a cloned nested dataset (Quality Central 3786).
* When the size of a Persistent field in TClientDataSet is set
too large, it overwrites neighboring fields upon Post
(Quality Central 3974).
* TDataSetProvider generates incorrect SQL in response to a
RefreshRecord request in some cases and fails to update
all fields properly (Quality Central 4014).
* When TDataSetProvider obtains the DB 'current' values
after an update conflict, it does so against the wrong
fields (Quality Central 4006).
* TClientDataSet.Delete fails with the error "Cannot
delete master record with details" even when all of the
details are deleted if the detail table was previously
cloned (Quality Central 5646).
* In some cases, records may disappear from a nested
TClientDataset after performing edits, applying updates
and calling refresh (Quality Central 7287).
* When multiple indexes are included with the data from a
provider, the IndexDef entries in the TClientDataset
will show duplicate 'Fields' and 'DescFields' values
(Quality Central 7543).
* When updating blob fields in a TClientDataset with the
LogChanges property set to False, blob data is lost
from other unrelated records (Quality Central 6591).
* Using a Filter or Locate with a TLargeIntField on a
TClientDataSet will always fail with the error
"Constant is not correct type".
(Quality Central 6142 & 3496).
* Calling the CancelRange method on nested TClientDataset
will cause all records for every master record to be
displayed (Quality Central 4301).
* When using RefreshRecord on a Memo or Blobfield and the field
has been modified by another user, the blobsize of that field
does not change if it is less than before (Quality Central 4676).
* Calling the TClientDataset.Locate method on a TWordField
always returns false (Quality Central 5319).
* Using the TDataSetProvider poFetchDetailsOnDemand option
with a server-side master/detail definition (nested dataset
on the client side) raises an exception when the master
TClientDataset is opened (Quality Central 5707).
* TClientDataset may create an incorrect delta when inserting
new master and detail records and then editing the same
master record a second time (Quality Central 6849).
* The assignment of a LargeInt field to another LargeInt field
fails when the destination and source are both TLargeIntFields
(Quality Central 6393).
* When Params are passed from a TClientDataSet to a
TDatasetProvider, the Size,Precision, and NumericScale property
settings are lost (Quality Central 6308).
* TClientDataSet allocates values against nested dataset
AutoInc fields but it should not (Quality Central 5509).
* When using a TimeStamp type parameter with a TClientDataSet an
error occurs when the parameter is passed to the server
(Quality Central 6372).
* Setting MTSDataModule.AutoComplete to False in the IDE is
overridden and set back to True at run time (Quality Central
4716).
* Calls to ApplyUpdates(-1) on a TMTSDataModule do not work
properly (Quality Central 6906).
=======================================================
DBGO (ADO Components)
* Using TParameter.Assign(TParam) or TParam.Assign(TParameter)
causes incorrect settings of the Size, NumericScale, and
Precision properties (Quality Central 6366).
* When values in persistent TMemoFields are returned after
reading a row of a TADOTable, the values are truncated at the
first occurrence of #0 (Quality Central 2771).
* When using TADOQuery to get a result set from a SQL query, the
SQL statement gets prepared but never gets unprepared
Quality Central 3635).
* With a query, when using cursorType set to ctOpenForwardOnly
and cursorLocation set to clUseServer, the "First" method will
move the cursor position to the second record (Quality Central
4769).
* Setting the value of a TLargeInt field to a negative value in
an ADODataSet and calling Post results in the error "Multiple-
step operation generated errors. Check each status value"
(Quality Central 2106).
* When using a SQL Server 2000 table with a BigInt or decimal
columns, negative values are incorrectly returned as positive
values by ADO components (Quality Central 2379 & 998).
=======================================================
dbExpress COMPONENTS
* When including the line delimiter ";" at the end of a select
statement in TSQLQuery, then using the query and a
TDataProvider to give data to a CDS, you cannot apply updates
without encountering a the syntax error "Token unknown."
* Updating on a TSQLQuery with either a WHERE clause or when
adding a delimiter ";" results in the error "Unable to find
record, no key specified."
* When using TSQLConnection and TSimpleDataSet to access a MySQL
database, it is impossible to add new records to a table that
has an auto-increment primary key (Quality Central 5465).
* When using the MySql driver, erroneous state information about
the number of active statements with respect to a
TSQLConnection might result in a transaction starting on one
connection and a commit or rollback happening on another
connection (Quality Central 1074).
* Updating on TSQLQuery with either a WHERE clause or when adding a
delimiter ";" results in the error "Unable to find record, no
key specified" (Quality Central 5550).
* When using TSQLQuery to add calculated fields, OnCalcFields
fails on the first record, because all of the fields in the
first record are empty after OnCalcFields is called (Quality
Central 1328).
* Calling TSQLConnection.getTableNames() to retrieve system
tables takes too long.
* Using TSQLConnection.CloneConnection may result in the loss of
the TableScope status for a new connection (Quality Central
5867).
=======================================================
dbExpress CORE DRIVER AND METADATA
* DB2 V8 Support - Index Metadata retrieval: (Quality Central
4150) Querying for a table with a unique index fails with
"Cannot convert a variant of type (Null) to type (String)"
* DB2 V8 Support - Fetching a stored procedure parameter fails.
* MySQL 4.0.x support (Quality Central 3731).
* MySQL driver supports only the default Port (Quality Central 3736).
* MySQL SQLCommand.GetRowsAffected returns 0 on successful
updates (Quality Central 4504).
* MySQL TimeStamp comes back as NOT NULL always (Quality
Central 4689).
* MySQL metadata causing data truncation (Quality Central
4160).
* AV on SQLCommand.Close() in MySQL driver (Quality Central
5819).
* MySQL metadata is retrieved from wrong database (Quality
Central 4130).
* An MSSQL stored procedure with long names causes memory
corruption (Quality Central 3225).
* The MSSQL driver leaks resources on repeated SQL execution
(Quality Central 4059).
* MSSQL TimeStamp fraction part rounding error while fetching
data.
* MSSQL - ExecDirect() does not return the RowsAffected.
* MSSQL return parameter is not available from a stored
procedure returning cursor/cursors (Quality Central 3763).
* An MSSQL stored procedure with no parameters causes memory
corruption.
* An MSSQL stored procedure does not return @@IDENTITY after a
SP execution. The identity value is returned only on the third
execution.
* ORACLE Functions are now supported (Quality Central 4051).
* ORACLE SQLCommand.getParameter() always returns the NULL
indicator as True (Quality Central 4018).
* InterBase - Support for BOOLEAN data type has been added.
=======================================================
dbExpress VENDOR ISSUES
* MySQL - Data truncation resulted as the cursor level metadata
is incorrect. MySQLField.length is 1024 for the second columns
after describing the SQL "Show create table tablename". -
(Quality Central - 1810)
* MSSQL - SubQuery parameter binding causes an AV in MSVCRT7.DLL
(Quality Central 2767) - MS bug. Case # SRX030728604937.
* MSSQL Null parameter binding on a NOT NULL INTEGER columns
fails with a SQL Error "SQL State:HY000, SQLError Code:0
Invalid input parameter values" - MS bug Case
#SRX030728605044. dbExpress MSSQL driver calls
IDBCommand.Prepare() and that seems to cause this bug in
SQLOLEDB.DLL.
=======================================================
dbExpress CERTIFICATION
dbExpress has been certified with the following database
versions:
InterBase 7.1 (*Driver should also work with InterBase 6.5, 7.0)
Oracle 9.1.0 (*Driver should also work with ORACLE 9.2.0)
DB2 UDB 8.x (*Driver should also work with DB2 V7)
MSSQL 2000
Informix 9.x
MySQL 4.0.18
* The driver should work with these database versions, however,
it has not been fully certified with these versions.
=======================================================
INTERNET/WEBSNAP
* Procedure TSockWebResponse.SendResponse contains code that
causes an incomplete response.
=======================================================
ACTIVEX
* On Windows 98 SE, registering an OLE-server on a a shared
mapped drive and then starting the program from a non-UNC path
drive results in an endless loop (Quality Central 3151).
* ShortToLongFileName fails on some UNC paths, which makes TComServer
fail when the executable is located on a remote computer
(Quality Central 3049).
* Additional methods begin with GhostMethod_ are added to
interface declarations which would not appear in Delphi 6
(Quality Central 3426).
* SetOlePicture distorts the target TPicture size (Quality
Central 4137).
=======================================================
COMPILER
* String values containing a NUL character (ASCII 0) are
truncated at the location of the NUL character when assigned
to a variant.
* Assigning a partially empty multi-dimensional dynamic array to
a variant causes an access violation.
* Converting an empty dynamic array to a variant array results
in a non-empty variant array with the wrong bounds.
* Assert fails to break and leaves an FPU invalid op exception set
(Quality Central 5248).
* Under some circumstances, optimization causes an access
violation on a call to a dynamic + safecall method (Quality
Central 5071).
=======================================================
RTL
* In System.pas, function LoadResString(ResStringRec:
PResStringRec): string; has a hard-coded buffer of 1024
characters, which causes resource string table entries in
excess of 1023 characters to be truncated (Quality Central
7581).
* ZLIB.TDeCompressionStream.Read returns results that can cause
an infinite loop with existing code.
* On Windows Server 2003, calls to SysUtils.GetEnvironmentVariable
fail with an access violation wHen the requested
environment variable does not exist (Quality Central 4319).
=======================================================
VCL
* Context and keyword help does not fire for the OnHelp events.
* Selecting a zero length (empty) item in drop-down combo box
results in an access violation in ntdll.dll.
* Attempting to delete a single item from the TComboBoxEx ItemEx
list, that item and the next item are deleted (Quality Central
3991).
* Calling TBitmap.Assign(nil) may result in a GDI resource leak
(Quality Central 2511).
* TRegistry class leaks a register key handle if LazyWrite is set to
False.
* THashedStringList ignores the NameValueSeparator property
(Quality Central 5632).
* In a DBCS environment, an exe filename that includes DBCS
characters often garbles Application.Title (Quality Central
5089).
* Menu items and images are sometimes drawn partially in black
on Windows XP systems that have themes disabled (Quality Central
2341).
* When a variant array item is a string with embedded null
characters (#0), Delphi treats those items as null-terminated
strings when the string is assigned to an item of variant
array (Quality Central 6078).
* When the ValueListEditor Visible property is set to False, making
it visible and adding a string at runtime may cause an access
violation (Quality Central 4953).
* When connected to a network printer and the system hosting the
network printer is offline, Printer.PageWidth may cause an
access violation in GDI32.DLL (Quality Central 757).
* The OldCreateOrder property for a form that inherits from
another form is automatically set to True when the form is
saved (Quality Central 1675).
* When ending a Windows session (either by using Log Off or Shut
Down) while a VCL-based Delphi application is running, no
OnDestroy events on the application's forms are called, nor
are any finalization sections executed. This may result in
lost data and user settings (Quality Central 5332).
=======================================================
VCL - ACTIONBANDS
* For users who have installed the unofficial ActionBand patch
(IDs 19151 and 18870) from the Borland CodeCentral web site,
installing the Delphi 7.1 Update will remove the
TPopUpActionBarEx component.
* The standard menu color scheme now correctly handles the flat
menu style (see SPI_GETFLATMENU in MSDN).
* Fixed an issue regarding auto hotkey calculation.
* ActionBands with background bitmaps are now painted corrected.
* Application hints are now updated correctly.
* TActionMainMenuBar now functions correctly in MDI
applications.
* Setting ActionBand popup menu colors now works correctly.
* F1 help on ActionBand menus has been fixed.
* Fixed issue regarding ActionBand menus no longer respond to
Ctrl-key combinations.
* Positioning menus with Ctrl-arrow key combinations now works.
* Menu items can now be selected with the right mouse button.
* Arrow keys now function within a menu even if the Alt key is
held down.
* Pop-up menu shadows are now displayed on Windows 2000.
* The Customize dialog now correctly shows actions from linked
ActionLists.
* The TActionManager.AddSeparator method now adds separators
correctly.
* A submenu's parent item is now reselected if the mouse leaves
the parent item but passes over the submenu before it closes.
* The drawing of the XP style menu buttons has been improved.
* Standard style menu button painting logic has been corrected.
* TCustomizeActionBars action now works even when it is not in a
TActionManager but its ActionManager property is assigned.
* Drawing problems with drop-down buttons on TActionToolbar
for both XP and Standard styles have been fixed.
* Dragging a category over a menu item and then over a
TActionToolBar no longer yields an access violation.
* Handling of main menu buttons for MDI applications is fixed.
=======================================================
THIRD PARTY - BOLD FOR DELPHI
* SQLDatabaseConfig now contains settings for database evolution
scripts (separator, terminator and commands for transaction
start/commit). Logs can be saved from the evolution dialog
(Quality Central 4679).
* BoldSelectChangeAction in BoldComboBox is now triggered more
appropriately on incremental searches (Quality Central 2827).
* A potential infinite recursion problem in
TBoldUnOrderedIndexableList.KnowsSupportsNil has been fixed.
* An assert with side-effects in TBoldObjectList.GetBoldObject
has been changed. This affects debug dcus only.
* TBoldUMLModelValidator.ValidateClass no longer has a bad format
string for one error.
* TBoldDbDataValidator.Validate no longer validates without
running any tests when not connected to a database.
* DBDataValidation no longer fails on parent or child mapped
classes.
* Performance of XMI Import has been improved (Quality Central 2827) .
* XMI Export now correctly exports multiplicity 0..n.
* Transaction grouping in optimistic locking has been improved
by performing checks in the same transaction as the update
(Quality Central 3123).
* A memory leak in the Object Lending Library has been fixed
(Quality Central 3648).
* Several issues with BoldGrid and goTabs have been resolved
(Quality Central 3903 and 3904).
* Saving modified multilinks no longer yields an index out of
bounds condition under certain conditions (Quality Central
4870).
* BoldSystemDebuggerForm no longer yields an access violation on
the second invocation from a Bold Action (Quality Central
6482).
* Certain combinations of tableMapping=Child and abstract
classes have been improved (Quality Central 7110).
* The OCL operation includesAll no longer returns false when it
should return true (Quality Central 3146).
* An Import problem with "Error: Class is already a relation class for
another association" has been fixed (Quality Central 3093).
* TBoldEnvironmentConfiguration.DeactivateQueue no longer yields
an access violation during finalization (Quality Central
3227).
* An access violation in BoldMemoryManager during finalization
of multi-threaded applications has been fixed.
* Model validation no longer incorrectly warns against parent
mapped classes with derived attributes not allowing null.
* Relating objects belonging to different Bold systems is no
longer allowed.
* Instructions for compiling IDL files have been improved.
델파이 7 업데이트는 다음의 위치에서 다운받으실 수 있습니다.
아키텍트, 엔터프라이즈 에디션:
http://file.borlandforum.com/delphi/Delphi7Update/d7_ent_upd1.exe
프로페셔널 에디션:
http://file.borlandforum.com/delphi/Delphi7Update/d7_pro_upd1.exe
퍼스널 에디션:
http://file.borlandforum.com/delphi/Delphi7Update/d7_std_upd1.exe