IDE Fix Pack 6.4.2

IDE Fix Pack is a collection of unofficial bug fixes and performance optimizations for the RAD Studio IDE, Win32/Win64/Andoird-ARM compiler and Win32 debugger.

IDE Fix Pack is an IDE plugin for RAD Studio 2009-10.3 that fixes IDE bugs at runtime. All changes are done in memory. No files on disk are modified. None of your projects are modified or benefit from the IDE Fix Pack other than being compiled faster. Only the IDE gets the fixes and optimizations.

The performance optimizations let the IDE start faster, open projects faster, optimizes the compiler’s file search algorithm, makes CodeInsight, the actual compilation and the debugger faster. It also fixes some IDE, compiler and debugger memory leaks.

fastdcc applies the Compiler Speed Pack that is included in IDE Fix Pack on the command line compiler dcc32, dcc64 and dccaarm (XE6 and newer).

Download:

Name IDE Version File Size Downloads Added
IDE Fix Pack 6.4.2 2009 (UP4) IDEFixPack2009Reg64.2.7z 242.75 KB 639 times 2019-03-23
IDE Fix Pack 6.4.2 2010 (UP5) IDEFixPack2010Reg64.2.7z 237.09 KB 774 times 2019-03-23
IDE Fix Pack 6.4.2 XE (UP1) IDEFixPackXEReg64.2.7z 221.38 KB 354 times 2019-03-23
IDE Fix Pack 6.4.2 XE2 (UP4+HF1) IDEFixPackXE2Reg64.2.7z 316.78 KB 405 times 2019-03-23
IDE Fix Pack 6.4.2 XE3 (UP2) IDEFixPackXE3Reg64.2.7z 257.4 KB 293 times 2019-03-23
IDE Fix Pack 6.4.2 XE4 (UP1) IDEFixPackXE4Reg64.2.7z 260.1 KB 197 times 2019-03-23
IDE Fix Pack 6.4.2 XE5 (UP2) IDEFixPackXE5Reg64.2.7z 257.7 KB 274 times 2019-03-23
IDE Fix Pack 6.4.2 XE6 (UP1) IDEFixPackXE6Reg64.2.7z 423 KB 231 times 2019-03-23
IDE Fix Pack 6.4.2 XE7 (UP1) IDEFixPackXE7Reg64.2.7z 429.48 KB 349 times 2019-03-23
IDE Fix Pack 6.4.2 XE8 (UP1) IDEFixPackXE8Reg64.2.7z 431.7 KB 292 times 2019-03-23
IDE Fix Pack 6.4.2 10 Seattle (RTM/UP1) IDEFixPackD10Reg64.2.7z 428.33 KB 630 times 2019-03-23
IDE Fix Pack 6.4.2 10.1 Berlin IDEFixPackD101Reg64.2.7z 430.65 KB 745 times 2019-03-23
IDE Fix Pack 6.4.2 10.2 (RTM/UP1/2/3) IDEFixPackD102Reg64.2.7z 426.27 KB 1563 times 2019-03-23
IDE Fix Pack 6.4.2 10.3 (RTM/UP1) IDEFixPackD103Reg64.2.7z 441.5 KB 3215 times 2019-03-23

Download (fastdcc for the command line compiler):

Name IDE Version File Size Downloads Added
fastdcc 6.4.2 2009 (UP4) fastdcc2009v64.2.7z 112.87 KB 173 times 2019-03-23
fastdcc 6.4.2 2010 (UP5) fastdcc2010v64.2.7z 120.38 KB 194 times 2019-03-23
fastdcc 6.4.2 XE (UP1) fastdccXEv64.2.7z 121.36 KB 158 times 2019-03-23
fastdcc 6.4.2 XE2 (UP4+HF1) fastdccXE2v64.2.7z 166.48 KB 157 times 2019-03-23
fastdcc 6.4.2 XE3 (UP2) fastdccXE3v64.2.7z 150.88 KB 144 times 2019-03-23
fastdcc 6.4.2 XE4 (UP1) fastdccXE4v64.2.7z 153.55 KB 111 times 2019-03-23
fastdcc 6.4.2 XE5 (UP2) fastdccXE5v64.2.7z 151.87 KB 155 times 2019-03-23
fastdcc 6.4.2 XE6 (UP1) fastdccXE6v64.2.7z 198.67 KB 121 times 2019-03-23
fastdcc 6.4.2 XE7 (UP1) fastdccXE7v64.2.7z 219.84 KB 141 times 2019-03-23
fastdcc 6.4.2 XE8 (UP1) fastdccXE8v64.2.7z 224.67 KB 128 times 2019-03-23
fastdcc 6.4.2 10 Seattle (RTM/UP1) fastdccD10v64.2.7z 219.65 KB 208 times 2019-03-23
fastdcc 6.4.2 10.1 Berlin fastdccD101v64.2.7z 223.52 KB 247 times 2019-03-23
fastdcc 6.4.2 10.2 (RTM/UP1/2/3) fastdccD102v64.2.7z 219.06 KB 419 times 2019-03-23
fastdcc 6.4.2 10.3 (RTM/UP1) fastdccD103v64.2.7z 226.38 KB 790 times 2019-03-23

Installation:
1. Start IDEFixPackRegXxx.exe under your user account
2. Select the IDE registry keys for which you want to install the bugfix
3. Press the “Install” button

Uninstall:
1. Start IDEFixPackRegXxx.exe under your user account
2. Press the “Uninstall” button. This will uninstall the bugfix for all (not only the selected) IDE registry keys.


fastdcc

There are 2 ways to use fastdcc.

1. Using fastdcc directly

  1. Extract the 7z file into your $(BDS)\bin directory.
  2. Start fastdcc32.exe as if it was dcc32.exe
    Start fastdcc64.exe as if it was dcc64.exe
    Start fastdccaarm.exe as if it was dccaarm.exe

1. Replacing dcc32.exe by fastdcc32.exe (don’t do this if you want to be able to install future RAD Studio/Delphi/C++Builder updates)

  1. Extract the 7z file into your $(BDS)\bin directory.
  2. Rename dcc32.exe, dcc32.jdbg and dcc32.de/fr/jp to dcc32compiler.exe/jdbg/de/fr/jp.
  3. Rename dcc64.exe, dcc64.jdbg and dcc64.de/fr/jp to dcc64compiler.exe/jdbg/de/fr/jp.
  4. Rename fastdcc32.exe to dcc32.exe
  5. Rename fastdcc64.exe to dcc64.exe
  6. Rename fastdcc32Hook.dll to dcc32Hook.dll
    For XE3 or newer: Rename fastdcc32Hook.dllx to dcc32Hook.dllx (“x” is necessary for Delphi’s copy protection)
  7. Rename fastdcc64Hook.dll to dcc64Hook.dll
    For XE3 or newer: Rename fastdcc64Hook.dllx to dcc64Hook.dllx
  8. Start dcc32.exe/dcc64.exe or msbuild.

Download (legacy):

Name IDE Version File Size Downloads Added
IDE Fix Pack XE2 4.5 XE2 UP2 only IDEFixPackXE2Reg45.zip 125.47 KB 4196 times 2011-11-02
IDE Fix Pack XE2 4.6.6 XE2 UP3 only IDEFixPackXE2Reg466.zip 152.4 KB 5376 times 2012-01-04
IDE Fix Pack 2007 4.4 Windows 10 Edition 2007 Dec.Update IDEFixPack2007Reg44Win10.7z 88.51 KB 15282 times 2015-08-04

Changed from 6.4.2 (2019-03-23)

  • Fixed: Unit-Name HashMap could cause an internal compiler error if the debugger removed System/SysInit from the unit list without IDEFixPack’s knowing.
  • Fixed: TCustomListBox.ResetContent patch caused an EInvalidPointerOp exception if the IDE or a component designer used TCheckListBox.

Changed from 6.4.1 (2019-03-03)

  • Fixed: StyleUtils.inc patch contained a hard coded address causing the patch to fail if the DLL’s base address was relocated. (10.3 only)
  • Fixed: TCustomListBox.ResetContent patch crashed with an access violation. (2010 only)

Changed from 6.4 (2019-03-01)

  • Fixed: Packages with duplicate units may not have caused a fatal compiler error.
  • Added: Support for Delphi 10.3 Rio
  • Added: StyleUtils.inc performance optimizations for faster UI rendering (D10.3)
  • Added: Infinite loop detection in TDebugger.UpdateEventLog
  • Added: Fix for TStringList.IndexOfName bug (RSP-21633)
  • Added: Fix for access violation in the Welcomepage JScript9.dll binding
  • Added: TCustomListBox.ResetContent is skipped if the handle isn’t created yet
  • Added: More STRINGCHECKS-free RTL code (2009/2010)
  • Added: More DFM Streaming optimizations
  • Added: RTL and DFM streaming patches to remove STRINGCHECKS (2009/2010)
  • Added: Removed VclFixPack OutputDebugString calls (2009)
  • Added: FillChar uses Enhanced REP MOVSB/STOSB cpu feature if available for large sizes.
  • Added: Enabled CPU LOCK string assignment optimization for local variables
  • Added: -x-Oe (experimental optimizations) and -x-cgo compiler option extension
  • Added: CodeGen: Remove of some unnecessary push/pop operations
  • Added: Expression Evaluator allows array access to pointers even if the type wasn’t declared with {$POINTERMATH ON}
  • Added: Max number of constants in a function was increased from 64K to 16M (2009-XE3)
  • Added: New compiler option extensions: -x–compileonly, -x–reslist, -x–depfile, -x–unitstats
  • Added: More performance optimization for the DCC64 compiler
  • Added: TStringBuilder.SetLength optimization [RSP-19178] (XE+)
  • Added: TStrings.GetDelimitedText optimization
  • Improved: Slight faster TStringList.IndexOfName optimization for sorted string lists.

Changed from 6.3.1 to 6.3.2 (2018-06-18) (XE2 only)

  • Fixed: Off-by-one error in Win64 compiler optimization generated defective code (XE2 only)

Changed from 6.3 to 6.3.1 (2018-06-17)

  • Fixed: Incompatiblity with CodeInsightPlus (UTF8ToUnicode appends a #0)

Changed from 6.2 to 6.3 (2018-06-17)

  • Added: Patch to remove IDE flickering when WM_SETTINGCHANGE ist broadcasted
  • Added: Fix for RSP-20700: Tooltip Help Insight is blinking if Structure View is scrolled
  • Added: Undo XE3+ TFiler/TReader/TParser/TStream TBytes usage, replace SetLength with SetLengthUninit for special cases
  • Added: -x-fpr generates 3 times faster stack memory page probing code (RSP-19826)
  • Added: Options -x-O1, -x-O2, -x-O3, -x-Ox that enable other optimization options

Changed from 6.1.2 to 6.2 (2018-01-25)

  • Fixed: Directory search cache failed if project units had “..\” in it (Delphi 10.2 only)
  • Fixed: Some VirtualProtect calls specified nil as last argument what Windows 10 1709 doesn’t like if a debugger is attached.
  • Added: Option -x-orc and -x-orc=n to remove temporary record variables for function results (n=1: only if the assignment is the last statement, n=2 for all)

Changed from 6.1 to 6.1.2 (2017-12-14)

  • Added: Support for Delphi 10.2 Update 2
  • Added: Fix for unnecessary temporary variable if an empty open array argument is part of a function call (Delphi 2009-10.1)

Changed from 6.1 to 6.1.1 (2017-10-30)

  • Fixed: -x-fvs (fast interface virtual stub) ECX usage detection failed for some record return types.

Changed from 6.0 to 6.1 (2017-10-29)

  • Added: Option -x-ff to enable “fast floating point” (like Borland C++’s -ff command line option)
  • Added: Option -x-fvs and -x-fvs=n to enable fast interface virtual stub (n=1: replace XCHG, n=2: keep the CPU’s return stack buffer in order)
  • Added: Option -x-fpr to remove XCHG from the function prolog code.
  • Added: DLL import table section folding and duplicate name/ordinal elimination, also for delay dll imports
  • Changed: Split “Compiler64.X86” patch into multiple smaller patches and removed the “Compiler64.X86” patch name
  • Changed: EditorFocusFix now skips the SetActiveWindow call if the mainform (undocked) is not the active window

Changed from 5.96 to 6.0 (2017-09-28)

  • Added: Win64 compile speed optimizations
  • Added: Delphi 10.2 Update 1 support
  • Added: Editor Block Completion UTF8 fix (Delphi 2009 only)

Changed from 5.95 to 5.96 (2017-04-09)

  • Fixed: Disable DynArraySetLength patch if 10.1 Berlin Update 2 is detected.
  • Fixed: “clang template debug symbol bloat” disabled for 10 Seattle and newer.
  • Added: IDE minimize doesn’t shrink main window to width and height zero.
  • Added: RAD Studio 10.2 support (RTM only)

Changed from 5.94 to 5.95 (2016-05-30)

  • Added: RAD Studio 10.1 Berlin support
  • Added: CloseHandle for created DCU files is delegated to a background thread. Windows Defender “workaround”
  • Added: Fix for RSP-14557: DynArraySetLength – resizing an array of managed type is causing entire copy instead of realloc (D10.1, only the IDE)
  • Added: Fix for RSP-13116: TCustomImageList.BeginUpdate/EndUpdate (D10.0)

Changed from 5.93 to 5.94 (2015-11-01)

  • Added: RAD Studio 10 Seattle support
  • Added: Patch for Clipboard History exception from 10 Seattle Castalia integration (10Seattle)
  • Added: timeBeginPeriod/timeEndPeriod calls from IDEVirtualTrees disabled (battery drain)
  • Added: Removed unnecessary memory reallocations for 64bit and AARM compiler (XE4+)
  • Added: CodeInsight popup window border fix for Windows 10.

Changed from 5.92 to 5.93 (2015-08-03)

  • Added: Support for Windows 10

Changed from 5.91 to 5.92 (2015-05-16)

  • Fixed: TStringList.IndexOfName optimization broke UniDAC’s designtime editor
  • Fixed: “Find References” shortcut was assigned to “Find Local References” unless the search menu was opened
  • Added: “Find Local References” shortcut Shift+Ctrl+Alt+Enter

Changed from 5.9 to 5.91 (2015-04-23)

  • Fixed: IDEFixPack didn’t take into account that DB.TFlatList uses late loading through GetCount
  • Fixed: fastdcc32/64/aarm in XE7 and XE8 didn’t load the CompilerSpeedPack into the compiler’s process

Changed from 5.8 to 5.9 (2015-04-21)

  • Fixed: FieldAddress optimization could fail if a published field name was also used in an ancestor
  • Added: XE8 support
  • Added: TStringList.IndexOfName optimization
  • Added: Castalia XE8 startup optimization (XE8)
  • Added: Fix for QC 71270, 76338 and 76379. “CodeInsight doesn’t like the underscore.”

Changed from 5.71 to 5.8 (2015-02-15)

  • Fixed: IDE Fix Pack tried to patch the fastdcc32/64/aarm.exe if it was renamed to dcc32/64/aarm.exe (XE6-XE7)
  • Fixed: Windows 8.1 compatibility with .NET code patch (2009)
  • Added: Compiler cleanup code performance optimization for large packages (2009-XE7)
  • Added: If XE7’s rlink32.dll is detected in older Delphi versions the “too many resources to handle” patch is skipped
  • Added: IDE Insight [F6]-Key calls SelectAll (XE5-XE7)
  • Improved: IDE Fix Pack StringLists use CompareStringOrdinal instead of CompareString
  • Changed: Installer/Uninstaller doesn’t require rtl.bpl/vcl.bpl in the PATH anymore

Changed from 5.7 to 5.71 (2014-09-02)

  • Added: XE7 support

Changed from 5.6 to 5.7 (2014-05-10)

  • Added: Fix for “class operator In” class completion
  • Added: IDEFixPackReg*.exe supports command line parameter /EXTRACT that extracts the files instead of installing them
  • Added: Disable creation of EditorLineEnd.ttr (2009-2010)
  • Added: Fix for QC 111917: RLINK32: Too many resources to handle. Instead of 3626 it can now handle 65534 resource items (also in fastdcc for command line compiler)
  • Added: TObject.FieldAddress optimization for DFM loading
  • Added: String function replacements without STRINGCHECKS (2009-2010)
  • Changed: Disabled “.NET Windows\Globalization search I/O optimization” patch for Windows 8 (2009)
  • Added: TComponent.Remove optimization (2009)

Changed from 5.5 to 5.6 (2014-08-25)

  • Added: Support for XE6
  • Added: CompilerSpeedPack for Android (XE6)
  • Added: Apply CompilerSpeedPack to external compiler execution (dcc32, dcc64, dccaarm) (XE6)

Changed from 5.4.1 to 5.5 (2014-05-04)

  • Fixed: Debug symbols are not always loaded for runtime packages
  • Fixed: Work around access violation in TComponentRoot.IsRootSelected
  • Added: Fix for QC 111998: $TDW macro used in Tools causes crash (XE2-XE5)
  • Added: CLANG BCC64 debuginfo bloat reduction for nested templates that caused the linker to run out of memory (XE3-XE5)
  • Improved: Splash screen progressbar accuracy
  • Renamed: fastdcc.exe becomes fastdcc32.exe

Changed from 5.4 to 5.4.1 (2013-12-11)

  • Added: Support for XE5 Update 2

Changed from 5.3 to 5.4 (2013-11-01)

  • Fixed: Possible access violation in PageControlTabSheetCompDropFix.DeleteSelection
  • Fixed: Possible infinite loop in compiler patch (2009-XE4)
  • Fixed: Switching between C++64 and C++32 platform caused “String list does not allow duplicates”
  • Added: XE5 support
  • Added: Optimization for: DCC64 was busy allocating and zero-ing memory for units with many functions (e.g. Generics)
  • Added: Optimization for: DCC64 was busy searching a linear list for units with many Generics
  • Added: Hashtable for compiler directives (improves jedi.inc compilation speed) (2009-2010)
  • Added: Hashtable for symbol lookup in used units
  • Added: Faster inline function compilation (2009-XE)
  • Added: Much better compiler performance if a unit instantiates many Generics (Spring4D)
  • Added: Fix for *.tds symbols aren’t loaded if the debugger is started with a relative HostApp
  • Removed: Increased Linker I/O buffer

Changed from 5.2 to 5.3 (2012-06-06)

  • Added: Fix for not disappearing Designer Guidelines
  • Added: Editor Buffer now always disables the automatic/implicit changes to the buffer if undo is disabled. Undo buffer stays in sync with editor buffer (especially in Delphi 2009)
  • Added: Fix for QC 105642: Ctrl+C causes premature line cut and garbage in the clipboard
  • Added: Fix for QC 105668: Last line of the multi-line comment is not repainted (XE3-XE4)
  • Added: Fix for QC 116373: VCL Designer Guidelines spanning to the IDE’s main form instead of the designer form. Revert to X3 behavior. (XE4)
  • Added: Fix for QC 116290: Code Completion in class declaration doesn’t find message handlers if Messages is not included by using WinApi.Messages (XE2-XE4)
  • Added: Some slight C++Builder Kibitz/Compiler performance optimization
  • Added: Faster Unicode Pos function (2009-XE2)
  • Added: XP SelectDirectory dialog replaced by Vista version if available
  • Added: Fix for QC 116169: Slow opening forms in IDE that don’t use LiveBindings (XE3-XE4)
  • Added: Fix for QC 115248: Huge memory leak in BDS.EXE with large local variables or watches (XE-XE4)
  • Added: Performance optimization for IOTAxxxx.AddNotifier where Add/RemoveNotifier is called for many items
  • Added: Fix for QC 116008: IDE always does the compile->link cycle even if there where no modifications made to the project
  • Added: Directory selection dialogs in IDE Options and Project Options use the $(Platform) and $(Config) from the option dialog (XE2-XE4)
  • Added: TStream.WriteBuffer/ReadBuffer performance optimization (DFM streaming) (XE3-XE4)
  • Added: Memory leak fix for Win64 compiler (XE3)
  • Added: Compiler performance optimization for many Generics (XE-XE4)
  • Added: HelpInsight performance optimization (XE/XE2)
  • Added: HelpInsight background WaitFor bugfix
  • Added: Fix for QC 111500: Debugger truncates command line
  • Rewritten: Linker I/O buffer memory handling
  • Improved: comp32x.dll isn’t loaded at IDE startup anymore (XE-XE4)
  • Improved: IDEFixPackReg*.exe supports command line parameters (see “IDEFixPackReg*.exe /?”)

Changelog from 5.1 to 5.2 (2012-12-18)

  • Fixed: IDEFixPack crashed the IDE under Windows 8. (2009 only)

Changelog from 5.0 to 5.1 (2012-12-11)

  • Added: Disable Package Cache option in the installer
  • Added: Bug fix for find in files Umlauts issue
  • Added: Fix for CompileProgress PopupMode
  • Added: DFM read/inheritance error dialogs are sizeable
  • Added: Fix for QC 7270. Invisible TabSheet was activated
  • Added: Replacement for slow Compiler C-RTL functions (memcpy, memmove, memset)
  • Added: Replaced slow inlined strcpy in for file name copy (XE2+)
  • Added: No LoadStringRes calls for disabled warnings (UnsafeCode, Assertions…)
  • Added: Special memory allocator for lookahead tokens
  • Added: Fix for TLabel.AutoSize is ignored when a new TLabel is dropped onto the form (2009)
  • Added: Fix for Right click in the editor switch block selection flag but did not reset it (2009)
  • Added: Fix for ToDo List could cause an access violation when the IDE terminates (2009)
  • Added: Fix for Watch window sometimes lost the PopupMenu shortcuts (2009)
  • Added: Designer DFM Loading Form Modified-Flag patch (2009)

Changelog from 4.9.1 to 5.0 (2012-08-01)

  • Fixed: RC files couldn’t be opened by double clicking in the ProjectManager
  • Fixed: Random order of BuildConfiguration tags in the dproj file
  • Added: Much improved linker performance if generics are used
  • Added: Parser for Find Unit (for Symbol) can be canceled by pressing ESC
  • Added: Refactor actions are only available after the parser has finished
  • Added: Refactor actions don’t start the parser if the user pressed an unrelated shortcut
  • Added: ObjectTextToBinary performance optimization for Linker and the FormDesigner
  • Added: Compile Dialog accepts the cancel button when only up-to-date DCU files are loaded but no actual unit compilation is done
  • Added: Protect the editor from CnWizard’s access from Application.OnIdle (random AVs when closing tabs)
  • Added: comp32x.dll keeps file handles open that shouldn’t belong to the debugger instance (debugging the IDE that debugs a program => program’s EXE is locked) (XE2)
  • Added: Fix for compiler bug where a memory allocator returned an invalid address due to an overflow
  • Added: Enabled “Ignore errors when kibitzing” patch for XE+, 2009/2010 already had it enabled (XE/XE2)
  • Added: Fix for QC#82199: Saving from the DFM as text editor truncates the PAS file by the number of Unicode chars (2009/2010)
  • Added: Fix for IDE removing form-unit from project when switching from DFM Text editor to FormDesigner with errors in the DFM
  • Removed: DisablePackageCache patch (too many component vendors now depend on not loading all packages)

Changelog from 4.8 to 4.9.1 (2012-04-25)

  • Added: HelpInsight (Ctrl+Shift+H) doesn’t invoke the ErrorInsight parser in its OnUpdate in the main thread anymore
  • Improved: The Directory Cache isn’t reset for every DCU the ErrorInsight parser wants to read.
  • Fixed: Patch for QC83992 (TImageList) didn’t work when Windows was in classic style.

Changelog from 4.7.1 to 4.8 (2012-04-11)

  • Added: Fix for QC83992 (TImageList is duplicated in inherited forms)
  • Fixed: Missing Patch: Improved IDE ProjectManager performance (2009-XE)
  • Fixed: Missing Patch: Vista compatible main icon resource (2009-2010)

Changelog from 4.7 to 4.7.1 (2012-04-07)

  • Fixed: Background Compiler can be used again (2010+)
  • Fixed: IDE lost the debugger state and disabled all debugging functions after terminating a process

Changelog from 4.6.6 to 4.7 (2012-02-29)

  • Added: XE2 Update 4 support
  • Added: Improved DataModule Code to Design switch performance (XE2)
  • Added: Improved Component Toolbar performance when switching between Code and Design (2010+)
  • Added: Package and Palette Caches are disabled
  • Added: Code editor parenthesis highlighting knows about string literals
  • Added: Closing files/projects cancels the background parser
  • Added: Fix for QC #103388: Include System Variables isn’t working anymore (XE2)
  • Added: Debugger now calls CreateProcess with CREATE_DEFAULT_ERROR_MODE
  • Added: Improved IDE ProjectManager performance

Changelog from 4.6.5 to 4.6.6 (2012-01-04)

  • Fixed: Last directory cache fix broke the debugger’s source file search if you use relative paths

Changelog from 4.6.1 to 4.6.5 (2012-01-02)

  • Fixed: Directory cache didn’t find units in the DPR’s directory anymore
  • Added: Editor undo for a large undo operation is a lot faster

Changelog from 4.6 to 4.6.1 (2011-12-27)

  • Fixed: Directory cache didn’t find files if CodeInsight was invoked in a uses-clause
  • Fixed: Possible access violation during unit clean up

Changelog from 4.5 to 4.6 (2011-12-15)

  • Added: After compile/debug unused compiler memory is released
  • Added: LiveBindings slowed down the IDE (XE2) [XE2 Update 3 fixed it differently]
  • Added: Compiler Package optimization
  • Added: Delphi-Debugger GetFileIndex optimization
  • Added: Debugger memory leak fix (XE2)
  • Added: Memory leak fix for Debugger’s GetModuleFileNameEx calls (2009-2010)
  • Added: Improved the performance when debugging the IDE (2009-2010)
  • Improved: C++ Debugger symbol reader performance
  • Fixed: XML Serializer cache race condition (2009-XE)

Changelog from 4.4 to 4.5 (2011-11-02)

  • Added: Improved Compile Progress dialog responsiveness and update interval.
  • Added: Disables FileSystem cache to prevent double caching (directory cache) (XE2)
  • Added: Disables GetUnitOf cache (XE2) and replaces the function by a much faster algorithm
  • Added: Disables UnitFindByAlias cache as IDE Fix Pack already has a unitname hash (XE2)
  • Added: Optimized compiler string functions
  • Added: Delphi Linker write buffer size increased to 5 MB (original 64KB)
  • Fixed: Some access violations due to the unitname hash
  • Fixed: Directory cache caused problems with the debugger not finding the source files

Changelog from 4.3 to 4.4 (2011-08-28)

  • Fixed: Directory cache problem with packages
  • Added: Replaced LocalAlloc/ReAlloc/Free calls from the compiler with FastMM functions (2009 only)
  • Added: Compiler callback used inlined AnsiCompareFileName, that is now also replaced by a faster version
  • Added: Directory cache for $(WINDIR)\Globalization file search on IDE start (2009 only)
  • Improved: LogView tweaks

Changelog from 4.2 to 4.3 (2011-08-20)

  • Added: Compiler directory cache
  • Added: 64kB I/O buffer for map/drc file creation
  • Added: Performance boost for LogView
  • Added fix for: Welcome page problems with “Save Desktop” (2009)
  • Improved: .NET XMLSerializer’s CreateProcess call is now cached without the need to call CreateProcess.
  • Fixed: Cleaning up the compiler’s units let some units in memory.

Changelog from 4.1 to 4.2 (2011-06-20)

  • Added: Prevent IDE deadlocks
  • Added: HelpInsight parsing is done in the background when moving the mouse over an identifier (2009/2010)
  • Added: Much improved IDE startup performance
  • Added: Some old Debugger C-RTL functions are replaced by much faster versions
  • Removed: No search for non-existing $(WINDIR)\Globalization files on IDE start (caused problems)

Changelog from 4.0 to 4.1 (2011-04-22):

  • Fixed: Closing editor tab could raise access violation
  • Fixed: XML Serializer cache wasn’t compiled into IDE Fix Pack 2009 anymore
  • Added: IDE Fix Pack is now loaded earlier
  • Added: msxmldom, XMLDoc and Variants optimization for the IDE’s usage pattern
  • Added: IDE start disk I/O optimizations
  • Added: Masks.pas optimization (UpperCase => UpCase)
  • Added: No search for non-existing $(WINDIR)\Globalization files on IDE start
  • Added: No write access to $(BDS)\bin\_refactoring.log for Together.Refactoring
  • Removed: QC #50564: Long/Unicode string assignments could be made 20% to 30% faster (caused problems with the options dialog)

Changelog from 3.5 to 4.0 (2011-04-18):

  • Added: Extensive Code Completion/Code Insight optimizations
  • Added: Compiler file search cache
  • Added: Fix for: Compilation takes longer and longer when compiling multiple times
  • Added: Structure View updates in the main thread are now faster
  • Added: Another Error Insight “Cannot resolve unit” fix
  • Added fix for: QC #88038: Delphi always maximizes itself on taskbar change
  • Added fix for: QC #89148: TListView ItemData streaming error
  • Added fix for: QC #89149: Saving a form with a ListView can kill the IDE
  • Added fix for: QC #93152: TBitBtn.DoubleBuffered default doesn’t match constructor’s default
  • Fixed: The Editor Focus fix caused the IDE’s menu bar to shrink if “Minimize on start” is set
  • Fixed: Debugger sometimes stopped working (Start, Pause, Stop buttons are disabled)

Changelog from 3.0/3.01 to 3.5 (2010-09-12):

  • Added fix for: QC #86428: Form looses ancestor components after unloading packages (2009/2010)
  • Added fix for: QC #23580: Object Inspector shows incomplete / mangled event handler list (2009/2010)
  • Added fix for: Code Insight doesn”t show matching methods for event assignments
  • Fixed: “Local variable view” optimization caused debugger to crash after execution.
  • Optimization: QC #50564: Long/Unicode string assignments could be made 20% to 30% faster
  • Optimization: Optimized TObject.ClassNameIs implementation
  • Optimization: GetDynaMethod uses binary search in DMT
  • Optimization: LoadResString cache (improves the speed of switching between Code and Design editor)
  • Optimization: Call stack with IInterface parameters are resolved much faster (2009/2010)

Changelog from 2.9 to 3.01 (2010-03-15):

  • Added fix for: QC #80822: ObjectInspecor: Properties are duplicated after scrolling
  • Added fix for: QC #80776: ObjectInspector shows “EditControl” instead of the real content
  • Added fix for: QC #79776: Clicking on object Inspector rejects focus
  • Added fix for: QC #29732: Class Completion adds published section
  • Added fix for: Step-Out doesn’t recognize the return address at ESP (2010 only)
  • Removed broken fix for QC #47242: Possible AV when shutting down the IDE

Changelog from 2.8 to 2.9 (2009-12-22):

  • Bugfix: CallStack optimization could cause access violations in RAD Studio 2010
  • Added fix for: QC #75738: Debugging extremly slow
  • Added fix for: QC #68493: Switching away and back to Delphi orphans focus on Code Editor

Changelog from 2.71 to 2.8:

  • Added fix for: Vista compatible main icon resource doesn’t work
  • Added fix for: F1 key doesn’t invoke help from ObjectInspector (2010 only)
  • Added Debugger optimization (Callstack, Local variable view, Step-Into)
  • Added Startup .NET XML-Serializer cache

Changelog from 2.7 to 2.71:

  • Fixed: Compatiblity issue. IDEFixPack caused an IDE localization bug if OraDeveloperTools was loaded. (2009 only)

Changelog from 2.6 to 2.7:

  • Added fix for: 64 bit Debugger assertion
  • Added fix for: Undo destroys editor buffer
  • Added fix for: Vista 64 IDE startup delay
  • Added: QC #74646: Buffer overflow in TCustomClientDataSet.DataConvert with ftWideString
  • Fixed: TTabSheet looked stange if used with SilverThemes

Changelog from 2.5 to 2.6:

  • Added: RAD Studio 2009 Update 3 (removed fixed patches, update patches to new machine code)
  • Fixed: QC #47242: Possible AV when shutting down the IDE
  • Fixed: QC #71575: Delphi 2009 literal string assigment
  • Fixed: ToolsAPI IOTAProjectOptions.GetOptionNames destroys options.

Changelog from 2.4 to 2.5:

  • Fixed: The AppDeActivateZOrder patch now fixes the cause instead of the symptoms
  • Added fix for: Error Insight fails to find TObject class
  • Added fix for: Possible deadlock when Error Insight calls ProcessMessages

Changelog from 2.3 to 2.4:

  • Added: Fix for Error Insight defines VER190 instead of VER200
  • Added: Fix for IDE may select the wrong file when performing a ctrl+click on a filename in the editor
  • Added: faster AnsiCompareFileName replacement function which speeds up the “Install Packages…” dialog

Changelog from 2.2 to 2.3:

  • Added: Fix for “Cannot resolve unit name” ErrorInsight bug.

Changelog from 2.1 to 2.2:

  • Fixed: C++Builder compilation slow down caused by the ReadWrite mode fix
  • Fixed: DBGrid ScrollBar gab wasn’t painted correctly in BiDiMode <> bdLeftToRight
  • Fixed: TTabSheet could throw an access violation if no PageControl was assigned to it
  • Added: RtlVclOptimize unit is compiled into the IDE Fix Pack, speeding up the IDE (a little bit)

Changelog from 2.0 to 2.1:

  • Added fix QC #67351: Debugger invokes anonymous method by itself (2009)
  • Added fix QC #58045: Component captions and component icons disappear from form designer (2007-2009)
  • Added fix QC #50278: IDE Compiler opens all files in ReadWrite mode and blocks command line compiler (2007-2009)
  • Added fix QC #69456: IDE dead lock when updating the editors (2009)