The GExperts 64-bit build just got a little more capable. The Filter Explicit Properties expert, which prevents the IDE from writing ExplicitLeft, ExplicitTop, ExplicitWidth, and ExplicitHeight properties to .dfm files, now works in the 64-bit IDE. Since Delphi 2006, the IDE has been adding these Explicit* properties to .dfm files. While they serve a purpose … Continue reading GExperts Win64: Enabling the Explicit Filter Expert
Month: January 2026
GExperts Code Formatter: Delphi 13 Language Support
The GExperts code formatter has been updated to support three new language constructs introduced in Delphi 13: The noreturn Directive Delphi 13 introduces the noreturn directive for procedures that never return (e.g., procedures that always raise an exception or call Halt). The formatter now correctly keeps this directive on the same line as the procedure … Continue reading GExperts Code Formatter: Delphi 13 Language Support
Using svn:global-ignores for Project-Wide Ignore Patterns
Note to self: If you're using Subversion and want ignore patterns that apply to your entire repository and work for all team members, svn:global-ignores is the solution. Unlike client-side configuration (like TortoiseSVN's global ignore settings), this property lives in the repository itself. Setting It Up Set the property on your repository root: svn propset svn:global-ignores … Continue reading Using svn:global-ignores for Project-Wide Ignore Patterns
More on inline if expressions
In my previous post I announced that the code formatter now supports inline if expressions (aka ternary operators). That was technically true, as long as these expressions were in one line of source code: [delphi] Value := if Condition then TrueValue else FalseValue; [/delphi] But as soon as you tried to split longer expressions into … Continue reading More on inline if expressions
GExperts Code Formatter supports the Delphi inline if expression aka “ternary operator”
In Delphi 13 Embarcadero introduced a new syntax construct for inline if expressions which they call "ternary operator". It implements what previously had to be implemented with the overloaded IfThen functions as a native compiler feature. These look like this. [delphi] Variable := if Condition then TrueValue else FalseValue; [/delphi] At the same time they … Continue reading GExperts Code Formatter supports the Delphi inline if expression aka “ternary operator”
Enumerating enum types in Delphi AI answer
Regarding my previous post on Enumerating enum types in Delphi I asked claude.ai: Question: I need a way to iterate over all values of an enum type in Delphi. Something like: [delphi] var e: SomeEnumType; for e in SomeEnum do begin doSomethingWith(e); end; [/delphi] But that doesn't compile. I'd like to avoid programming a for-loop … Continue reading Enumerating enum types in Delphi AI answer
Enumerating enum types in Delphi
One would have thought that enumerating enum types in Delphi would be a no brainer, after all they have it in the name already. But this does not compile: [delphi] var L: TSomeEnumType; begin for L in TSomeEnumType do begin doSomethingWith(L); end; end; [/delphi] So I though I'd just wrap it into a record and … Continue reading Enumerating enum types in Delphi
Fixed memory leak in DUnit’s TextTestRunner
In 2015 somebody reported a memory leak in the console test runner of DUnit which apparently was never fixed. I encountered that leak today and got annoyed enough by it to fix it. Here is the updated file, just in case anybody else is interested. The reason for the memory leak was calling Halt without … Continue reading Fixed memory leak in DUnit’s TextTestRunner
Building RSS Show: A Vibe Coding Experiment That Became Real
RSS Show started out as an experiment in Vibe Coding and evolved into a usable tool. What is RSS Show? RSS Show is a single-file RSS feed reader that runs entirely in your browser. No installation, no build process, no dependencies - just open an HTML file and you're reading feeds. Due to the enshittification … Continue reading Building RSS Show: A Vibe Coding Experiment That Became Real