Delphi 2005 Update 1 Fixes
This document contains information about fixes and improvements for Delphi 2005 Update 1. This update contains fixes in the following areas:
- ActiveX
- Database
- Debugger
- Delphi Compiler
- ECO
- IDE
- Install
- Internet
- Reflection
- RTL
- VCL
ActiveX
- tlibimp.sym needs to add a new alias for the name 'Range' to be able to import Word 2003 without errors.
- After creating a new ActiveX Remote Data Module, clicking on 'Run' on the menu results in 'Invalid class typecast'.
- When importing an assembly if the types Pointer or Exception are used they conflict with the Delphi types Pointer and Exception.
Database
- [.NET]TQuery for VCL.NET can not correctly use MBCS in Params.
- [.NET]The drop down list in the Table Mapping dialog in bdpDataAdapter can cause the IDE to lose all key stroke events until the IDE is restarted.
- [.NET]Filtered data in DbExpress applications fail under certain circumstances.
- [.NET]Can't post Timestamp fields as parameters to TClientDataset.
- [.NET]Calculated fields, Reconcile callbacks, and Filter callbacks through TClientDataSet do not work. They may work the first time but since they are declared wrong the garbage collector frees the callback assignment.
- [Win32]Using a remote data module may cause an Access Violation.
- [.NET]DataHub.ApplyChanges() should pass only the Delta instead of the whole DataSet.
Debugger
- If you create an inspector in C# or Delphi.NET and step through the code, it does not update.
- Attaching to a running WinForms process with Pause after attach enabled and then double-clicking in the call stack window causes a crash.
- Setting or unsetting breakpoints is leaking memory.
- Crash in modules view can occur when resetting a .NET process with the modules view open.
- Double clicking on the call stack in the CPU View in certain instances will cause an Access Violation, and an unrecoverable crash of the IDE.
- It is not possible to evaluate static members of a class. Evaluation always gives "invalid identifier".
- Debugger Internal Error CEV-835 occurs when changing active threads after an exception.
- The AnsiString type cannot display correctly on all debugger panes. The IDE locks up.
Delphi Compiler
- AV occurs in the compiler when compiling complex interface code.
- When a inline procedure that has a nested procedure is expanded across unit boundaries, a URW793 internal error is generated.
- Inlining a class function, or a class procedure with a var parameter across units causes internal error URW793.
- When a inline procedure that has a fixed sized local array variable is expanded across unit boundaries, a URW793 internal error is generated.
- Access violation occurs in dccil90.dll on second compile in the IDE.
- Compiling a unit named with a reserved word causes a crash.
ECO
- The design surface has been made more resilient to manual changes to the code, notably adding a new type in the source of CoreClassesUnit.pas file no longer freezes the diagram.
- DB2 is now supported by the database reverse engineering tool.
- The single link end colors in autoforms now align better to system color scheme by using clWindow.
- Added a possibility to abort the reverse engineering tool. After reversing there are now instructions how to proceed with the mapping file.
- Fixed the list of selected packages in PackageSelector so that it doesn't contain packages that have been removed.
- The reverse engineering tool now ignores tables with no primary key.
- Fixed issue where the reverse engineering tool could generate duplicate class/property names when it removed underscores from table/column names.
- Setting parameters to constructors has been fixed to support more types.
- Fixed bug with child mapped embedded associations in combination with abstract primary keys.
- The OCL editor now comes up centered, rather than in the default position (which changes every time).
- The property for linkclass is now generated using the correct type.
- The VariableHandle has been improved to support variables of class type.
- Adding a second ASP ECO project now correctly names all automatically generated classes.
- EcoSpace designer no longer raises an exception when dropping non-components (such as DataSets and DataView).
- The DefaultOrMappingBuilder now correctly respects the setting SqlDatabaseConfig.AllowMetadatachangesInTransaction. When creating the ECO_TYPES table, the operation was wrapped in a transaction regardless of the above setting. This caused a problem for databases where metadata changes are not allowed in the transaction.
- When creating schema some backends (notably Oracle) could not handle a final separator. Typically this caused "Execute failed. ORA-00911: invalid character". The final separator has been removed.
- There were issues with data binding using a DB2 backend that caused a 'Value cannot be null' exception, even when all fields contained proper data. This has been fixed.
- When creating a database schema, data operations and metadata operations are mixed in the same transaction when dropping tables. Some backends did not support this mix (notably MimerSql). The two types of operations now occur in separate transactions.
- When cleaning database tables that need to be dropped, under some circumstances, the last table that needs to be dropped is not dropped, and this causes an exception when the table is recreated. This has been fixed.
- 216186: Evolving a database where the model has introduced a new base class caused an error on Discriminator value "EcoType" ("0"). This has been fixed.
- Using SqlDatabaseConfig.UseSQL92Joins = true no longer causes a runtime unhandled 'SQL execute' exception.
- Validating OCL-expressions on derived associations now use multiplicity from the correct end.
- Reversing schemas has been improved to be less sensitive to the order in which tables are read from the meta data. This fixes a seemingly random problem with incomplete associations to link classes.
- Subscriptions will now correctly raise events if an inherited association is modified from the other end.
- When an association is made non-navigable, it no longer disappears from the diagram.
- When using AnsiSqlJoins, the erroneous SQL using LEFT JOIN has been replaced with the more appropriate INNER JOIN. This prevents the odd cases of AllInstances returning invalid objects.
IDE
- When using code insight in the IDE to add an override method to a class, it will insert the new override in the wrong place, making the code not compile.
- Class completion inserts incorrect fields/methods for properties if you have a field declared in a comma separated list, such as:
A, B: Integer;
- When Class Completion adds a getter it does so after the last symbol. If the last symbol is within an ifdef, the addition is also within the ifdef.
- A published property that declares a setter and a getter when Shift+Ctrl+C is clicked will generate another published section with the the get and set methods. The methods should be placed in the public section.
- Sync edit highlights the wrong places if accented characters are used.
- Error occurs when closing System.Data.dll.
External exception C000001E.
- Find Unit refactoring is omitted from the refactoring menu in a VCL.NET application. However the shortcut is still accepted, and does not work correctly.
- Form Designer has CLR exception when running a WinForm application with a bdpDataAdapter, and the IDE and application hang.
- Class variables break Class Completion.
- Final methods break Class Completion.
- Find Unit puts the namespace rather than the class name into the unit's uses clause.
- Class completion for indexed properties generates wrong accessor methods.
- Class Completion in a Web Control Library creates uncompilable code.
- C# only install has a non-functional Structure Pane.
- List Index out of bounds occurs when trying to use View as Text more than once.
- When importing a D7 project, the project options from the D7 project should be preserved. Currently it fails if you have default options saved for the Delphi win32 personality.
- After the default encoding is changed to UTF8, the generated text file from DFM uses UTF-8, and "Revert to Form" command causes a "Catastrophic failure" error.
- Adding a reference to a Web application causes "Object reference not set to an instance of an object".
- Exception Tracker is not enabled.
- Closing a Form In "Classic Undocked" layout crashes the IDE with looped Error: Catastrophic failure.
- A problem with the package cache causes ever increasing required package lists.
- A number of memory leaks found and fixed.
Install
- On Windows XP Service Pack 2, installing only the Win32 personality causes an Access Violation in dotnetcoreide90.bpl on shut down.
Internet
- HTML\Formatting. Delphi Page Producers use the following tags <#TAG>. The MSHTML control changes these to <TAG>
- If the user closes the IDE right after choosing Run | Run for an ASP application The IDE may crash.
- In a WebSnap application, clicking on the "Code Editor" button on the String List Editor of HTMLDoc... will trigger Error: List index out of bounds (-1).
- The "XML Tree" tab in WebSnap applications fails to load with an error.
- The default deployment for ASP is missing XML file types.
- The Infragistics UltraWebGrid and WebCombo can't be dropped on the ASP designer.
- If you have accented characters in a Complex Type Element in an xml file, they will display as squares in the generated .pas file after running the DataBinding wizard.
- The WebAppDebugger has an Access Violation when switching to the Options Dialog Log tab.
- WebAppDebugger Options Dialog does not persist changes when closed, and is missing the OK/Cancel/Help buttons.
- The ASP Designer removes "run at server" attribute from the title element when saving.
Midas
- If you add midaslib to a project that has version information in it, there is a conflict between the two version resources.
Reflection
- After closing the assembly: Borland.VCLDSnapCon.dll, an Access Violation will be thrown:
Access violation at address 00000000. Read of address 00000000.
- Closing Delphi with an assembly open will throw an exception.
Application Error: Exception EAccessViolation in module rtl90.bpl at 111C83C8. Access violation at address 111C93C8. Write of address 9E3A8241.
- Closing a project with an assembly opened and expanded will cause Access Violation.
- Closing Reflection.exe causes Access Violation.
Application Error:Exception EAccessViolation in module Reflection.exe at 02AB6FD0. Access violation at address 02AB7FD0. Write of address 00000001.
- Access Violation occurs when using the embedded reflection tool.
- Opening a .NET application and clicking on an item in the type library editor causes Access Violations and forces closure of the IDE.
- Access Violation occurs when browsing Microsoft.JScript.dll.
- Hidden registry key isn't updated to 3.0.
RTL
- [.NET]StrToInt fails to correctly parse negative values with leading zeros ("-001").
- [.NET]The IDE generates incorrect code for an event handler that has an array type parameter. The element type is not translated to the correct Delphi type name.
StarTeam Integration
- Specifying any value for "Duration" or "Percent Complete" when adding a new task in StarTeam will cause an Internal Application Error.
- Object reference exception occurs when creating a new Label in StarTeam.
- The itemsPane in Starteam does not work correctly for foreign languages.
- Requirements/Tasks/Items listed in the StarTeam integration are not displaying for the localized versions of the IDE.
- An error on startup causes StarTeam to not be loaded into the IDE.
VCL
- [Win32]Unable to use ALTGR key in the IDE under German locale when the user does not have Administrator rights.