DDevExtensions 2.88 for Delphi 2009-10.4.2

By | July 20, 2021

Now that a Community Edition for Delphi 10.4.2 is available, I can compile the DDevExtensions IDE plugin for Delphi 10.4.2. So here is the new version of DDevExtensions 2.88 that support Delphi 2009 – 10.4.2.

Changelog:

  • Added: Support for Delphi 10.4.2

DDevExtensions

Name IDE Version File Size Downloads Added
DDevExtensions 1.61 5-2007DDevExtensions161Setup.zip734.07 KB19413 times2009-01-10
DDevExtensions 2.8 Features PDFDDevExtensionsFeatures.pdf602.92 KB15988 times2014-12-27
DDevExtensions 2.4 7, 2007DDevExtensions24Setup7_2007.zip535.41 KB12166 times2011-07-25
DDevExtensions 2.86 2009-10.3DDevExtensions286.7z1.24 MB4125 times2020-05-30
DDevExtensions 2.88 2009-10.4.2DDevExtensions288.7z1.3 MB809 times2021-07-20

Source Code on GitHub

DDevExtensions for Delphi 10.4

By | April 13, 2021

The source code of the Delphi IDE plugin DDevExtensions is now available on GitHub. There is also a release version for Delphi 10.4. It was not compiled by myself because I don’t have Delphi 10.4. But thanks to the DelphiPraxis fork you can download the release for Delphi 10.4 form GitHub.

All releases for Delphi 2009 – 10.4 are kept on this website for now.

DDevExtensions 2.86 for Delphi 2009-10.3.3

By | May 30, 2020

Due to a performance issue in the TListView implementation (since Delphi 2), the DDevExtension‘s “Find Unit” replacement dialog was slow if your project had a lot of units and you used the filter edit. The new version 2.86 now works around that and as a result filtering becomes almost instantaneous.

Changelog:

  • Improved: The FindUnit/UnitSelector Dialog filter is a lot faster

DDevExtensions

Name IDE Version File Size Downloads Added
DDevExtensions 1.61 5-2007DDevExtensions161Setup.zip734.07 KB19413 times2009-01-10
DDevExtensions 2.8 Features PDFDDevExtensionsFeatures.pdf602.92 KB15988 times2014-12-27
DDevExtensions 2.4 7, 2007DDevExtensions24Setup7_2007.zip535.41 KB12166 times2011-07-25
DDevExtensions 2.86 2009-10.3DDevExtensions286.7z1.24 MB4125 times2020-05-30
DDevExtensions 2.88 2009-10.4.2DDevExtensions288.7z1.3 MB809 times2021-07-20

IDE Fix Pack 6.4.4 Hotfix for Delphi 10.3.2

By | July 31, 2019

There was a bug in IDE Fix Pack 6.4.3 for Delphi 10.3.2 that caused the Win32 compiler to crash. The CodeGenMod.Win32.VirtFinalSealed patch didn’t work correctly. Even if the actual patch code doesn’t run without the “-x-fvs=1” compiler command line option extension specified, the hooking code failed to inject the correct code for the compiler’s version. Only Delphi 10.3.2 was affected by this bug.

Download:

Name IDE Version File Size Downloads Added
IDE Fix Pack 6.4.2 2009 (UP4)IDEFixPack2009Reg64.2.7z242.75 KB3481 times2019-03-23
IDE Fix Pack 6.4.2 2010 (UP5)IDEFixPack2010Reg64.2.7z237.09 KB4029 times2019-03-23
IDE Fix Pack 6.4.2 XE (UP1)IDEFixPackXEReg64.2.7z221.38 KB2289 times2019-03-23
IDE Fix Pack 6.4.2 XE2 (UP4+HF1)IDEFixPackXE2Reg64.2.7z316.78 KB2612 times2019-03-23
IDE Fix Pack 6.4.2 XE3 (UP2)IDEFixPackXE3Reg64.2.7z257.4 KB2003 times2019-03-23
IDE Fix Pack 6.4.2 XE4 (UP1)IDEFixPackXE4Reg64.2.7z260.1 KB1695 times2019-03-23
IDE Fix Pack 6.4.2 XE5 (UP2)IDEFixPackXE5Reg64.2.7z257.7 KB2071 times2019-03-23
IDE Fix Pack 6.4.2 XE6 (UP1)IDEFixPackXE6Reg64.2.7z423 KB1811 times2019-03-23
IDE Fix Pack 6.4.2 XE7 (UP1)IDEFixPackXE7Reg64.2.7z429.48 KB2558 times2019-03-23
IDE Fix Pack 6.4.2 XE8 (UP1)IDEFixPackXE8Reg64.2.7z431.7 KB2126 times2019-03-23
IDE Fix Pack 6.4.2 10 Seattle (RTM/UP1)IDEFixPackD10Reg64.2.7z428.33 KB3224 times2019-03-23
IDE Fix Pack 6.4.2 10.1 BerlinIDEFixPackD101Reg64.2.7z430.65 KB3698 times2019-03-23
IDE Fix Pack 6.4.2 10.2 (RTM/UP1/2/3)IDEFixPackD102Reg64.2.7z426.27 KB6435 times2019-03-23
IDE Fix Pack 6.4.4 10.3 (RTM/UP1/2/3)IDEFixPackD103Reg64.4.7z444.98 KB13480 times2019-08-01

Download (fastdcc for the command line compiler):

Name IDE Version File Size Downloads Added
fastdcc 6.4.2 2009 (UP4)fastdcc2009v64.2.7z112.87 KB1632 times2019-03-23
fastdcc 6.4.2 2010 (UP5)fastdcc2010v64.2.7z120.38 KB1693 times2019-03-23
fastdcc 6.4.2 XE (UP1)fastdccXEv64.2.7z121.36 KB1524 times2019-03-23
fastdcc 6.4.2 XE2 (UP4+HF1)fastdccXE2v64.2.7z166.48 KB1529 times2019-03-23
fastdcc 6.4.2 XE3 (UP2)fastdccXE3v64.2.7z150.88 KB1439 times2019-03-23
fastdcc 6.4.2 XE4 (UP1)fastdccXE4v64.2.7z153.55 KB1406 times2019-03-23
fastdcc 6.4.2 XE5 (UP2)fastdccXE5v64.2.7z151.87 KB1489 times2019-03-23
fastdcc 6.4.2 XE6 (UP1)fastdccXE6v64.2.7z198.67 KB1429 times2019-03-23
fastdcc 6.4.2 XE7 (UP1)fastdccXE7v64.2.7z219.84 KB1563 times2019-03-23
fastdcc 6.4.2 XE8 (UP1)fastdccXE8v64.2.7z224.67 KB1489 times2019-03-23
fastdcc 6.4.2 10 Seattle (RTM/UP1)fastdccD10v64.2.7z219.65 KB1731 times2019-03-23
fastdcc 6.4.2 10.1 BerlinfastdccD101v64.2.7z223.52 KB1794 times2019-03-23
fastdcc 6.4.2 10.2 (RTM/UP1/2/3)fastdccD102v64.2.7z219.06 KB2413 times2019-03-23
fastdcc 6.4.4 10.3 (RTM/UP1/2/3)fastdccD103v64.4.7z228.61 KB3662 times2019-07-31

Changelog

  • Fixed: CodeGenMod.Win32.VirtFinalSealed was broken for Delphi 10.3.2
  • Removed: IDE Insight Listbox drop shadow patch isn’t necessary for Delphi 10.3.2 anymore

IDE Fix Pack 6.4.3 for Delphi 10.3.2

By | July 24, 2019

With the newest Delphi 10.3.2 (Rio Update 2) the IDE Fix Pack failed with two compiler extension patches. The updated version 6.4.3 adds support for the Delphi 10.3.2 update.

Only Delphi 10.3.2 requires this update. Older Delphi versions are unchanged and stay at IDE Fix Pack version 6.4.2.

Download:

Name IDE Version File Size Downloads Added
IDE Fix Pack 6.4.2 2009 (UP4)IDEFixPack2009Reg64.2.7z242.75 KB3481 times2019-03-23
IDE Fix Pack 6.4.2 2010 (UP5)IDEFixPack2010Reg64.2.7z237.09 KB4029 times2019-03-23
IDE Fix Pack 6.4.2 XE (UP1)IDEFixPackXEReg64.2.7z221.38 KB2289 times2019-03-23
IDE Fix Pack 6.4.2 XE2 (UP4+HF1)IDEFixPackXE2Reg64.2.7z316.78 KB2612 times2019-03-23
IDE Fix Pack 6.4.2 XE3 (UP2)IDEFixPackXE3Reg64.2.7z257.4 KB2003 times2019-03-23
IDE Fix Pack 6.4.2 XE4 (UP1)IDEFixPackXE4Reg64.2.7z260.1 KB1695 times2019-03-23
IDE Fix Pack 6.4.2 XE5 (UP2)IDEFixPackXE5Reg64.2.7z257.7 KB2071 times2019-03-23
IDE Fix Pack 6.4.2 XE6 (UP1)IDEFixPackXE6Reg64.2.7z423 KB1811 times2019-03-23
IDE Fix Pack 6.4.2 XE7 (UP1)IDEFixPackXE7Reg64.2.7z429.48 KB2558 times2019-03-23
IDE Fix Pack 6.4.2 XE8 (UP1)IDEFixPackXE8Reg64.2.7z431.7 KB2126 times2019-03-23
IDE Fix Pack 6.4.2 10 Seattle (RTM/UP1)IDEFixPackD10Reg64.2.7z428.33 KB3224 times2019-03-23
IDE Fix Pack 6.4.2 10.1 BerlinIDEFixPackD101Reg64.2.7z430.65 KB3698 times2019-03-23
IDE Fix Pack 6.4.2 10.2 (RTM/UP1/2/3)IDEFixPackD102Reg64.2.7z426.27 KB6435 times2019-03-23
IDE Fix Pack 6.4.4 10.3 (RTM/UP1/2/3)IDEFixPackD103Reg64.4.7z444.98 KB13480 times2019-08-01

Download (fastdcc for the command line compiler):

Name IDE Version File Size Downloads Added
fastdcc 6.4.2 2009 (UP4)fastdcc2009v64.2.7z112.87 KB1632 times2019-03-23
fastdcc 6.4.2 2010 (UP5)fastdcc2010v64.2.7z120.38 KB1693 times2019-03-23
fastdcc 6.4.2 XE (UP1)fastdccXEv64.2.7z121.36 KB1524 times2019-03-23
fastdcc 6.4.2 XE2 (UP4+HF1)fastdccXE2v64.2.7z166.48 KB1529 times2019-03-23
fastdcc 6.4.2 XE3 (UP2)fastdccXE3v64.2.7z150.88 KB1439 times2019-03-23
fastdcc 6.4.2 XE4 (UP1)fastdccXE4v64.2.7z153.55 KB1406 times2019-03-23
fastdcc 6.4.2 XE5 (UP2)fastdccXE5v64.2.7z151.87 KB1489 times2019-03-23
fastdcc 6.4.2 XE6 (UP1)fastdccXE6v64.2.7z198.67 KB1429 times2019-03-23
fastdcc 6.4.2 XE7 (UP1)fastdccXE7v64.2.7z219.84 KB1563 times2019-03-23
fastdcc 6.4.2 XE8 (UP1)fastdccXE8v64.2.7z224.67 KB1489 times2019-03-23
fastdcc 6.4.2 10 Seattle (RTM/UP1)fastdccD10v64.2.7z219.65 KB1731 times2019-03-23
fastdcc 6.4.2 10.1 BerlinfastdccD101v64.2.7z223.52 KB1794 times2019-03-23
fastdcc 6.4.2 10.2 (RTM/UP1/2/3)fastdccD102v64.2.7z219.06 KB2413 times2019-03-23
fastdcc 6.4.4 10.3 (RTM/UP1/2/3)fastdccD103v64.4.7z228.61 KB3662 times2019-07-31

Changelog

  • Added: Delphi 10.3.2 (Rio Update 2) support

IDE Fix Pack moved to a new server

By | June 29, 2019

After 18 years of using a sub-domain on a very old server on a domain that wasn’t owned by me, my blog and therefore IDEFixPack got a new home.

My blog is now accessible via https://www.idefixpack.de . The old sub-domain has a “Moved Permanently” redirection to the new domain. Some time in the future the old sub-domain will be deleted.

IDE Fix Pack 6.4.2 released (bugfix release)

By | March 23, 2019

IDE Fix Pack 6.4.2 addresses two bugs. It fixes an issue with the TCustomListBox.ResetContent patch that was introduced with version 6.4 and caused EInvalidPointerOp exception with 3rdParty design editors. And it also fixes a 9 year old bug with outdated data in the UnitName HashMap patch after a debug session that caused the compiler to crash with an internal compiler error on the next compile.

Download:

Name IDE Version File Size Downloads Added
IDE Fix Pack 6.4.2 2009 (UP4) IDEFixPack2009Reg64.2.7z 242.75 KB 3481 times 2019-03-23
IDE Fix Pack 6.4.2 2010 (UP5) IDEFixPack2010Reg64.2.7z 237.09 KB 4029 times 2019-03-23
IDE Fix Pack 6.4.2 XE (UP1) IDEFixPackXEReg64.2.7z 221.38 KB 2289 times 2019-03-23
IDE Fix Pack 6.4.2 XE2 (UP4+HF1) IDEFixPackXE2Reg64.2.7z 316.78 KB 2612 times 2019-03-23
IDE Fix Pack 6.4.2 XE3 (UP2) IDEFixPackXE3Reg64.2.7z 257.4 KB 2003 times 2019-03-23
IDE Fix Pack 6.4.2 XE4 (UP1) IDEFixPackXE4Reg64.2.7z 260.1 KB 1695 times 2019-03-23
IDE Fix Pack 6.4.2 XE5 (UP2) IDEFixPackXE5Reg64.2.7z 257.7 KB 2071 times 2019-03-23
IDE Fix Pack 6.4.2 XE6 (UP1) IDEFixPackXE6Reg64.2.7z 423 KB 1811 times 2019-03-23
IDE Fix Pack 6.4.2 XE7 (UP1) IDEFixPackXE7Reg64.2.7z 429.48 KB 2558 times 2019-03-23
IDE Fix Pack 6.4.2 XE8 (UP1) IDEFixPackXE8Reg64.2.7z 431.7 KB 2126 times 2019-03-23
IDE Fix Pack 6.4.2 10 Seattle (RTM/UP1) IDEFixPackD10Reg64.2.7z 428.33 KB 3224 times 2019-03-23
IDE Fix Pack 6.4.2 10.1 Berlin IDEFixPackD101Reg64.2.7z 430.65 KB 3698 times 2019-03-23
IDE Fix Pack 6.4.2 10.2 (RTM/UP1/2/3) IDEFixPackD102Reg64.2.7z 426.27 KB 6435 times 2019-03-23
IDE Fix Pack 6.4.4 10.3 (RTM/UP1/2/3) IDEFixPackD103Reg64.4.7z 444.98 KB 13480 times 2019-08-01

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 1632 times 2019-03-23
fastdcc 6.4.2 2010 (UP5) fastdcc2010v64.2.7z 120.38 KB 1693 times 2019-03-23
fastdcc 6.4.2 XE (UP1) fastdccXEv64.2.7z 121.36 KB 1524 times 2019-03-23
fastdcc 6.4.2 XE2 (UP4+HF1) fastdccXE2v64.2.7z 166.48 KB 1529 times 2019-03-23
fastdcc 6.4.2 XE3 (UP2) fastdccXE3v64.2.7z 150.88 KB 1439 times 2019-03-23
fastdcc 6.4.2 XE4 (UP1) fastdccXE4v64.2.7z 153.55 KB 1406 times 2019-03-23
fastdcc 6.4.2 XE5 (UP2) fastdccXE5v64.2.7z 151.87 KB 1489 times 2019-03-23
fastdcc 6.4.2 XE6 (UP1) fastdccXE6v64.2.7z 198.67 KB 1429 times 2019-03-23
fastdcc 6.4.2 XE7 (UP1) fastdccXE7v64.2.7z 219.84 KB 1563 times 2019-03-23
fastdcc 6.4.2 XE8 (UP1) fastdccXE8v64.2.7z 224.67 KB 1489 times 2019-03-23
fastdcc 6.4.2 10 Seattle (RTM/UP1) fastdccD10v64.2.7z 219.65 KB 1731 times 2019-03-23
fastdcc 6.4.2 10.1 Berlin fastdccD101v64.2.7z 223.52 KB 1794 times 2019-03-23
fastdcc 6.4.2 10.2 (RTM/UP1/2/3) fastdccD102v64.2.7z 219.06 KB 2413 times 2019-03-23
fastdcc 6.4.4 10.3 (RTM/UP1/2/3) fastdccD103v64.4.7z 228.61 KB 3662 times 2019-07-31

Changelog

  • 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.

IDE Fix Pack 6.4.1 (only 10.3 without Update 1 and Delphi 2010)

By | March 3, 2019

There was a bug in the IDE Fix Pack 6.4 for 10.3 Rio code that searches for the StyleUtils functions. It contained a hard coded (absolute) address that is only correct for the Update 1 VCL.BPL. So the patch failed for the RTM version or if the VCL.BPL is relocated (what is unlikely as it is one of the first DLLs that are loaded).

Furthermore there was a wrong $IFDEF in the code that caused Delphi 2010 to crash with an access violation if the TCustomListBox.ResetContext method was called on a control whos Handle wasn’t allocated yet.

Only the IDE part of IDE Fix Pack is affected so there is no need for a fastdcc hotfix.

Changelog:

  • 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)

Download:

Name IDE Version File Size Downloads Added
IDE Fix Pack 6.4.2 2009 (UP4) IDEFixPack2009Reg64.2.7z 242.75 KB 3481 times 2019-03-23
IDE Fix Pack 6.4.2 2010 (UP5) IDEFixPack2010Reg64.2.7z 237.09 KB 4029 times 2019-03-23
IDE Fix Pack 6.4.2 XE (UP1) IDEFixPackXEReg64.2.7z 221.38 KB 2289 times 2019-03-23
IDE Fix Pack 6.4.2 XE2 (UP4+HF1) IDEFixPackXE2Reg64.2.7z 316.78 KB 2612 times 2019-03-23
IDE Fix Pack 6.4.2 XE3 (UP2) IDEFixPackXE3Reg64.2.7z 257.4 KB 2003 times 2019-03-23
IDE Fix Pack 6.4.2 XE4 (UP1) IDEFixPackXE4Reg64.2.7z 260.1 KB 1695 times 2019-03-23
IDE Fix Pack 6.4.2 XE5 (UP2) IDEFixPackXE5Reg64.2.7z 257.7 KB 2071 times 2019-03-23
IDE Fix Pack 6.4.2 XE6 (UP1) IDEFixPackXE6Reg64.2.7z 423 KB 1811 times 2019-03-23
IDE Fix Pack 6.4.2 XE7 (UP1) IDEFixPackXE7Reg64.2.7z 429.48 KB 2558 times 2019-03-23
IDE Fix Pack 6.4.2 XE8 (UP1) IDEFixPackXE8Reg64.2.7z 431.7 KB 2126 times 2019-03-23
IDE Fix Pack 6.4.2 10 Seattle (RTM/UP1) IDEFixPackD10Reg64.2.7z 428.33 KB 3224 times 2019-03-23
IDE Fix Pack 6.4.2 10.1 Berlin IDEFixPackD101Reg64.2.7z 430.65 KB 3698 times 2019-03-23
IDE Fix Pack 6.4.2 10.2 (RTM/UP1/2/3) IDEFixPackD102Reg64.2.7z 426.27 KB 6435 times 2019-03-23
IDE Fix Pack 6.4.4 10.3 (RTM/UP1/2/3) IDEFixPackD103Reg64.4.7z 444.98 KB 13480 times 2019-08-01

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 1632 times 2019-03-23
fastdcc 6.4.2 2010 (UP5) fastdcc2010v64.2.7z 120.38 KB 1693 times 2019-03-23
fastdcc 6.4.2 XE (UP1) fastdccXEv64.2.7z 121.36 KB 1524 times 2019-03-23
fastdcc 6.4.2 XE2 (UP4+HF1) fastdccXE2v64.2.7z 166.48 KB 1529 times 2019-03-23
fastdcc 6.4.2 XE3 (UP2) fastdccXE3v64.2.7z 150.88 KB 1439 times 2019-03-23
fastdcc 6.4.2 XE4 (UP1) fastdccXE4v64.2.7z 153.55 KB 1406 times 2019-03-23
fastdcc 6.4.2 XE5 (UP2) fastdccXE5v64.2.7z 151.87 KB 1489 times 2019-03-23
fastdcc 6.4.2 XE6 (UP1) fastdccXE6v64.2.7z 198.67 KB 1429 times 2019-03-23
fastdcc 6.4.2 XE7 (UP1) fastdccXE7v64.2.7z 219.84 KB 1563 times 2019-03-23
fastdcc 6.4.2 XE8 (UP1) fastdccXE8v64.2.7z 224.67 KB 1489 times 2019-03-23
fastdcc 6.4.2 10 Seattle (RTM/UP1) fastdccD10v64.2.7z 219.65 KB 1731 times 2019-03-23
fastdcc 6.4.2 10.1 Berlin fastdccD101v64.2.7z 223.52 KB 1794 times 2019-03-23
fastdcc 6.4.2 10.2 (RTM/UP1/2/3) fastdccD102v64.2.7z 219.06 KB 2413 times 2019-03-23
fastdcc 6.4.4 10.3 (RTM/UP1/2/3) fastdccD103v64.4.7z 228.61 KB 3662 times 2019-07-31

IDE Fix Pack 6.4 released

By | March 1, 2019

The new IDE Fix Pack 6.4 not only adds support for Delphi 10.3 Rio (including Update 1) but also comes with some new IDE und Win64 compiler performance optimizations.

Download:

Name IDE Version File Size Downloads Added
IDE Fix Pack 6.4.2 2009 (UP4) IDEFixPack2009Reg64.2.7z 242.75 KB 3481 times 2019-03-23
IDE Fix Pack 6.4.2 2010 (UP5) IDEFixPack2010Reg64.2.7z 237.09 KB 4029 times 2019-03-23
IDE Fix Pack 6.4.2 XE (UP1) IDEFixPackXEReg64.2.7z 221.38 KB 2289 times 2019-03-23
IDE Fix Pack 6.4.2 XE2 (UP4+HF1) IDEFixPackXE2Reg64.2.7z 316.78 KB 2612 times 2019-03-23
IDE Fix Pack 6.4.2 XE3 (UP2) IDEFixPackXE3Reg64.2.7z 257.4 KB 2003 times 2019-03-23
IDE Fix Pack 6.4.2 XE4 (UP1) IDEFixPackXE4Reg64.2.7z 260.1 KB 1695 times 2019-03-23
IDE Fix Pack 6.4.2 XE5 (UP2) IDEFixPackXE5Reg64.2.7z 257.7 KB 2071 times 2019-03-23
IDE Fix Pack 6.4.2 XE6 (UP1) IDEFixPackXE6Reg64.2.7z 423 KB 1811 times 2019-03-23
IDE Fix Pack 6.4.2 XE7 (UP1) IDEFixPackXE7Reg64.2.7z 429.48 KB 2558 times 2019-03-23
IDE Fix Pack 6.4.2 XE8 (UP1) IDEFixPackXE8Reg64.2.7z 431.7 KB 2126 times 2019-03-23
IDE Fix Pack 6.4.2 10 Seattle (RTM/UP1) IDEFixPackD10Reg64.2.7z 428.33 KB 3224 times 2019-03-23
IDE Fix Pack 6.4.2 10.1 Berlin IDEFixPackD101Reg64.2.7z 430.65 KB 3698 times 2019-03-23
IDE Fix Pack 6.4.2 10.2 (RTM/UP1/2/3) IDEFixPackD102Reg64.2.7z 426.27 KB 6435 times 2019-03-23
IDE Fix Pack 6.4.4 10.3 (RTM/UP1/2/3) IDEFixPackD103Reg64.4.7z 444.98 KB 13480 times 2019-08-01

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 1632 times 2019-03-23
fastdcc 6.4.2 2010 (UP5) fastdcc2010v64.2.7z 120.38 KB 1693 times 2019-03-23
fastdcc 6.4.2 XE (UP1) fastdccXEv64.2.7z 121.36 KB 1524 times 2019-03-23
fastdcc 6.4.2 XE2 (UP4+HF1) fastdccXE2v64.2.7z 166.48 KB 1529 times 2019-03-23
fastdcc 6.4.2 XE3 (UP2) fastdccXE3v64.2.7z 150.88 KB 1439 times 2019-03-23
fastdcc 6.4.2 XE4 (UP1) fastdccXE4v64.2.7z 153.55 KB 1406 times 2019-03-23
fastdcc 6.4.2 XE5 (UP2) fastdccXE5v64.2.7z 151.87 KB 1489 times 2019-03-23
fastdcc 6.4.2 XE6 (UP1) fastdccXE6v64.2.7z 198.67 KB 1429 times 2019-03-23
fastdcc 6.4.2 XE7 (UP1) fastdccXE7v64.2.7z 219.84 KB 1563 times 2019-03-23
fastdcc 6.4.2 XE8 (UP1) fastdccXE8v64.2.7z 224.67 KB 1489 times 2019-03-23
fastdcc 6.4.2 10 Seattle (RTM/UP1) fastdccD10v64.2.7z 219.65 KB 1731 times 2019-03-23
fastdcc 6.4.2 10.1 Berlin fastdccD101v64.2.7z 223.52 KB 1794 times 2019-03-23
fastdcc 6.4.2 10.2 (RTM/UP1/2/3) fastdccD102v64.2.7z 219.06 KB 2413 times 2019-03-23
fastdcc 6.4.4 10.3 (RTM/UP1/2/3) fastdccD103v64.4.7z 228.61 KB 3662 times 2019-07-31

Changelog

  • 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.

Debugging the RAD Studio IDE

By | December 15, 2018

When I work on my IDE plugins I constantly need to debug the IDE. To make my live a lot easier I wrote an IDE plugin that adds another symbol resolver to the Delphi Debugger, so the debugger can use the *.jdbg files and show the actual function names (including line numbers) in the call stack. Even the CPU view uses more colors to show call, jmp, ret, nop, try/finally/except and more in different colors and resolves call and jump target addresses to their names if available.

In order to identify the code that causes performance issues I use “poor man’s profiling”. I pause the IDE multiple times while the task that takes up the time is running and look at the call stack. If a function comes up in all call stacks, it is is either the culprit or a function that is called very often (or you are just unlucky).

If the task takes really long, pausing the IDE withing the debugger IDE via the pause button is doable, but if the task takes only 2 seconds switching to the other IDE or moving the mouse to the pause button can be too slow, so I use the F12 debug hotkey that Windows reacts to and notifies the debugger to pause the process. Unfortunately Microsoft disabled that feature with Windows Vista. So I had to emulate that functionally with my own IDE plugin that reacts to the F12 hotkey while the debugger is running.

Tools used:

Installing the IDE plugins

Both tools come without an installer, so you have to install them by hand. After extracting the 7z files you have to create two registry entries (Delphi 10.3 Rio):

  1. Start regedit.exe
  2. Navigate to HKEY_CURRENT_USER\Software\Embarcadero\BDS\20.0\Experts
  3. If the “Experts” key doesn’t exist, you have to create it by right clicking on the “20.0” key and select “New/Key”
  4. Add a new String value by right clicking in the listview and select “New/String Value”.
    Name: DebuggerCallStackResolverR103
    Value: C:\The\Path\To\DebuggerCallStackResolverR103.dll
  5. Add another String value by right clicking in the listview and select “New/String Value”.
    Name: DelphiF12HotKeySupport
    Value: C:\The\Path\To\DelphiF12HotKeySupport.dll
  6. Close regedit.exe

Starting the debugger IDE

Start the RAD Studio IDE. There is nothing special here.

Starting the IDE that we want to debug

For IDE plugins and component packages

If you are writing an IDE plugin or want to debug a component, you open your project and in the “Run/Parameters…” dialog set the “Host application” to “$(BDS)\bin\bds.exe” (without the quotes). If you want to use a different registry key for the debugged IDE then you can also set the “Parameters” to “-rMyRegistryKey“. That way the IDE starts with a new registry key having a clean IDE, so it doesn’t have any additional library paths, components or IDE plugins installed that.

Compile and Start your project.

I use the -r command line parameter for my IDE plugins because the debugged IDE has to load the just compiled versions of the DLLs instead of the release versions that are installed into the debugger IDE.

Just for call stacks

If you only want to identify an IDE bug or a performance issue you can start the second IDE without opening any project by using the “Run/Load process…” dialog. Select the “Embarcadero Windows 32bit-Debugger” in the Debugger combo box and set the “Host application” to “$(BDS)\bin\bds.exe” (without the quotes). Set the “After load” radio button to “Run” and press the “Load” button.

Skipping the usual startup exception

The IDE throws some exception during the startup, that are handled by the IDE but now that a debugger is attached to the IDE’s process you will see them.

The first exception you may encounter is an EFOpenFile exception for the “%USERPROFILE%\sanct.log” file. That has something to do with the product licensing and now that two IDEs are running the first holds the file exclusively open causing the second IDE to fail to open the file. You can ignore this exception (you may add the EFOpenFile exception to the ignore list if you start the debugged IDE multiple times.

The next exception is ESanctSocketException “Cannot start instance counter. Port is already in use (10048).”. Again caused by the product licensing. This time it wants to listen to a port but the debugger IDE already opened that port. Add that exception type to the ignore list because we don’t care about it and the exception type is a special type not like EFOpenFile)

The EFOpenFile exception for the sanct.log file is thrown again. Skip it again.

And finally we reach the EAccessViolation from the welcome page (something the IDEFixPack for Rio will fix). Skip that one.

If you are in the editor you may see an EParseError exception. You can add that exception to the ignore list.

Identifying the performance issue

Now you can start the task that you think is taking a lot of time and while it is causing the CPU or I/O usage to be high, you can pause the debugged IDE by pressing the pause button in the first IDE or by pressing the F12 debug break hotkey in the debugged IDE. This brings you usually to the CPU view and you can have a look at the call stack of all the threads by double clicking on a specific thread in the Threads list what shows the thread’s call stack in the Call Stack window.