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

gexperts.dummzeuch.de is currently failing

Apparently all subdomain redirections on my homepage are currently failing, one of them being https://gexperts.dummzeuch.de I have no idea what happened but I am looking into the issue. In the meantime you can just use .//experimental-gexperts-version/ instead, which is the target of the redirection.