The last official release of IDE Fix Pack was in April and since then I added some new optimizations, IDE bug fixes and fixed IDE Fix Pack bugs.
Version 5.0 doesn’t contain the “Disable package cache” patch anymore. I got too many reports about misbehaving components, double listing of about texts in the Splash screen and IDE crashes due to misbehaving packages. (What will the component vendors do if Embarcadero suddenly removes the cache themself? Depending on the load order and packages that aren’t loaded is no good strategy)
The “Ignore errors when kibitzing” patch that was only available for Delphi 2009/2010 was changed so that it doesn’t lead the XE and XE2 compiler into an infinite loop anymore. This patch makes it possible for CodeInsight to work despite errors in the code.
When you’ve pressed Ctrl+F12 (Unit…) or Ctrl+Shift+F12 (Forms..) in a large project the first time, the IDE can became blocked for a while. That is because when the VCL searches for the menu item with the matching shortcut, it has to check the shortcut of “Show HelpInsight” (Ctrl+Shift+H). And the TAction behind that menu item invokes the ErrorInsight parser in the main thread in its OnUpdate handler that is called before the shortcut is compared. I added a patch that prevents that scenario. Furthermore I also added a patch that does the same with the “Refactor” menu item’s shortcut handling.
The new version gives the Delphi linker a performance boost for code that uses a lot of different generics instantiations. So if you have 100 different units with 100 different TObjn (where n is 1..100) and you use TList<TObjn> you won’t have to wait that long anymore for the linker phase to complete.
Download:
Name | IDE Version | File | Size | Downloads | Added |
---|---|---|---|---|---|
IDE Fix Pack 6.4.2 | 2009 (UP4) | IDEFixPack2009Reg64.2.7z | 242.75 KB | 5652 times | 2019-03-23 |
IDE Fix Pack 6.4.2 | 2010 (UP5) | IDEFixPack2010Reg64.2.7z | 237.09 KB | 6464 times | 2019-03-23 |
IDE Fix Pack 6.4.2 | XE (UP1) | IDEFixPackXEReg64.2.7z | 221.38 KB | 3996 times | 2019-03-23 |
IDE Fix Pack 6.4.2 | XE2 (UP4+HF1) | IDEFixPackXE2Reg64.2.7z | 316.78 KB | 4409 times | 2019-03-23 |
IDE Fix Pack 6.4.2 | XE3 (UP2) | IDEFixPackXE3Reg64.2.7z | 257.4 KB | 3547 times | 2019-03-23 |
IDE Fix Pack 6.4.2 | XE4 (UP1) | IDEFixPackXE4Reg64.2.7z | 260.1 KB | 3162 times | 2019-03-23 |
IDE Fix Pack 6.4.2 | XE5 (UP2) | IDEFixPackXE5Reg64.2.7z | 257.7 KB | 3643 times | 2019-03-23 |
IDE Fix Pack 6.4.2 | XE6 (UP1) | IDEFixPackXE6Reg64.2.7z | 423 KB | 3339 times | 2019-03-23 |
IDE Fix Pack 6.4.2 | XE7 (UP1) | IDEFixPackXE7Reg64.2.7z | 429.48 KB | 4503 times | 2019-03-23 |
IDE Fix Pack 6.4.2 | XE8 (UP1) | IDEFixPackXE8Reg64.2.7z | 431.7 KB | 3794 times | 2019-03-23 |
IDE Fix Pack 6.4.2 | 10 Seattle (RTM/UP1) | IDEFixPackD10Reg64.2.7z | 428.33 KB | 5274 times | 2019-03-23 |
IDE Fix Pack 6.4.2 | 10.1 Berlin | IDEFixPackD101Reg64.2.7z | 430.65 KB | 5862 times | 2019-03-23 |
IDE Fix Pack 6.4.2 | 10.2 (RTM/UP1/2/3) | IDEFixPackD102Reg64.2.7z | 426.27 KB | 9285 times | 2019-03-23 |
IDE Fix Pack 6.4.4 | 10.3 (RTM/UP1/2/3) | IDEFixPackD103Reg64.4.7z | 444.98 KB | 17680 times | 2019-08-01 |
Changelog
- 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 when compiling it the second time) (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)
Great! Thx.
Keep up the good work.
Thanks!
Thanks!
Hi Andy,
Excellent! I assume you are not in the Delphi team and you should not have access to the source code of the IDE, it’s amazing that you can do so many wonderful hackings into the IDE.
It’ll be interesting to know what techniques and tools do you use for analyzing the inner workings of the Delphi IDE, for example, how can you find out about the OnUpdate handler of the Action behind the shortcut of “Show HelpInsight”, as you stated above?
Thanks!
Start the IDE with an attached debugger, open a large project and press Ctrl+F12. While the IDE is busy switch to the debugger, pause the process and have a look at the call stack 😉
I’m getting the following error twice on every startup of XE2:
Not all compiler speed pack x86 patches were applied. Failed patches:
failed: CodeInsight ignore errors [Compiler.KibitzIgnoreErrors]
Do you have all XE2 updates installed and the hotfix? I only support the latest version of XE2.
Is there anything that those of us using XE2 update 3 can do? I can’t find any older versions of IDEFixPack. All the links seem to be for 5.0. Can I safely ignore the startup errors? Is there any way to disable them?
Thanks!
I don’t have Update 3 anymore, so I can’t test IDE Fix Pack with it. But if there are error messages from IDE Fix Pack, that tells you that a list of patches could not be applied, I can not tell you that the IDE/Compiler will work without errors.
Would it be possible for me to get hold of an older version of IDEFixPack?
Version 4.6.6 for XE2+UP3 is now up again (the download counter was not reset)
Just got back from my hols and installed 4.6.6. Thanks a million!
My fault. I was missing an update
And Delphi 7? not?
There was never an IDE Fix Pack for Delphi 7, only a DelphiSpeedUp. And that was discontinued years ago.
By “years ago” didn’t you mean “a year ago”? 🙂 I’d like IDE Fix Pack for Delphi 7 myself too.
I already had discontinued DelphiSpeedUp when I thought that it might be worth to back-port some compiler performance patches from the Compiler Speed Pack.
DelphiSpeedUp is actually the IDEFixPack for Delphi 7.
Full build of single big project in D2009 (on SDD, i5-2500K 3.3GHz, 16GB, AV off):
– Time Elapsed 00:01:26.81 – without IDE FixPack
– Time Elapsed 00:00:19.61 – with IDE FixPack
So IDE Fix Pack saves >1min. on every build (also saves my sanity ;).
I’m making about 10-100 (or sometimes more) builds a day, so … I’ve made donation again!
Thanks for supporting D2009 in new IDE Fix Pack’s!
Pingback: Delphi 2010 ru » Blog Archive » IDE Fix Pack 5.0
Pingback: Neues aus Delphi Land - TechBloggers
Thank you!
Thanks a lot Andy. I really appreciate this.
Hi Andy
Certainly greatly speeds up the switching between form and code in Firemonkey 🙂
Do you know what causes the “ghosting” of some objects on a Firemonkey Form?
(e.g a button (you only see a dotted outline when you click where it would be on the form (otherwise its invisible)
I used to be able to fix it by simplying going to Tools, options, then click on OK then restart DElphi XE2
but now that is not working…not sure why
Thanks
Brian
just a follow up..un installing then re installing Tchart pro fixed the ghosting problem I had 🙂
Hello Andy,
thanks for your great work again!!
Is there any chance, you might look at a bug introduced with XE2?
I reported about this issue in QC 106925. It leads to a freezing IDE and loss of all unsaved changes whenever you derive a generic class while code completion is enabled.
I know, your’re not paid for your work but EMBA won’t release a Update 5, I guess, respectively it’s called XE3.
So, it would be really great! Unfortunately my skills far from helping oneself.
If you’ve no time or are not interested in solving EMBAs problems, it’s OK, too. It’s just a question.
Thank you very much!