Author Archives: Andreas Hausladen

Technical the same but different generated code

By | October 31, 2017

While debugging the String4D code to hunt down a bug in the CompilerSpeedPack, I saw a lot of CopyRecord/FinalizeRecord calls with a try/finally that the compiler generated. If you have a record with managed fields (string, interface, …) and use it as a function return type the Delphi compiler will change the function into a… Read More »

IDE Fix Pack 6.1 released

By | October 29, 2017

With the release of IDE Fix Pack 6.1, the Compiler Speed Pack not only makes the compiler compile faster but it can now also change the generated code, something that IDE Fix Pack has never done before. For this, new command line compiler options are introduced. They all start with “-x” (eXtension) followed by the… Read More »

Debugger Callstack Resolver released

By | August 15, 2017

Debugger Callstack Resolver is a Delphi IDE plugin that I wrote in 2011 to make the IDE’s CPU View more readable. It colors different instructions, resolves absolute and memory address jump and call targets and shows their function name if available. It also uses the *.jdbg to show more information (the dcc32 compiler’s jdbg files… Read More »

System.ByteStrings for 10.1 Berlin

By | May 31, 2016

Delphi 10.1 Berlin reintroduces UTF8String and RawByteString for the NextGen compilers (Android, iOS). But ShortString and AnsiString are still missing. The compiler has full support for them but you can’t use them because they are declared with a leading underscore in the System.pas unit what makes them inaccessible because “_” is compiled to “@” what… Read More »

IDE Fix Pack 5.95 for Delphi 10.1 Berlin

By | May 30, 2016

IDE Fix Pack 5.95 supports RAD Studio 10.1 Berlin. When Windows Defender (or any other anti-virus tool) sees the compiler creating a DCU file and the compiler calls CloseHandle on the file handle, the virus/malware scanner blocks the thread and takes its time to have a look at the file. This causes CloseHandle to take… Read More »