How Claude Code just helped me to find a problem in a Delphi program in 10 Minutes

Social media and the Blogosphere (what's left of it) and many other media publishing some individual's view is full of people who claim that "AI" (meaning Large Language Models) only produces what they call "slop" that is full of errors. In programming they claim that it only reproduces code that was part of its training … Continue reading How Claude Code just helped me to find a problem in a Delphi program in 10 Minutes

Hunting a GExperts Code Librarian corruption bug with a custom debug memory manager

AI;DR - This blog post and the debug memory manager it describes were developed with significant help from Claude. If you don't want to read "AI slop", stop reading now. I recently added a new import functionality to the GExperts Code Librarian. During the test phase I found a nasty (preexisting) bug: After deleting a … Continue reading Hunting a GExperts Code Librarian corruption bug with a custom debug memory manager

SwissDelphiCenter Delphi Tips: The Scraper Scripts

Here are the two Python scripts I used to create the SwissDelphiCenter Delphi Tips archive: download. scrape_tips.py downloads the tip pages from the Wayback Machine. It waits 10 seconds between requests and it is resumable, so you can stop it and continue later. Before you run it, you must put your email address into the … Continue reading SwissDelphiCenter Delphi Tips: The Scraper Scripts

GExperts: Export and Import Your Complete Configuration

GExperts stores its settings in the Windows registry, under a key that is specific to each installed Delphi version. Copying that configuration to another machine, or from one Delphi version to another, used to mean exporting registry keys by hand and editing them so they pointed at the right version and then importing them into … Continue reading GExperts: Export and Import Your Complete Configuration

Delphi VCL: Owner drawing a TStringGrid

Embarcadero has broken owner drawing of TStringGrid several times. To get the text positioned correctly you need version-specific X and Y offsets. Here is the case statement GExperts uses (from GX_StringGridDrawFix.pas): [delphi] procedure DetermineTextOffsets(_Focused: Boolean; out _XOffset, _YOffset: Integer); begin case GetBorlandIdeVersion of ideD600..ideRSXE1U1: begin // Versions before XE2 worked fine with an offset of … Continue reading Delphi VCL: Owner drawing a TStringGrid