Delphi

Automatic language translator engine for Delphi GUIs [update 2026]

RTTI-based automatic language translator engine. Let your application self-translate to any language with only two lines of code! Overview This library translates all GUI strings (TLabel.Caption, TLabel.Hint, TMenuItem.Caption, etc.) for all live forms in your application. The text is stored in INI files which can be sent to DeepL for automatic translation.   Downloading the

Automatic language translator engine for Delphi GUIs [update 2026] Read More »

Android modal dialogs and the Delphi question: Are true modal dialogs ever coming back to FMX?

For years, Delphi developers coming from VCL have had to unlearn one deeply ingrained assumption when moving to FireMonkey (FMX): there is no such thing as a truly modal dialog on mobile platforms. No blocking ShowModal, no linear control flow, no “wait here until the user clicks OK”. What Android Has Always Meant by “Dialog”

Android modal dialogs and the Delphi question: Are true modal dialogs ever coming back to FMX? Read More »

Connecting Claude to Delphi

Prompt: Can I Claude Code build from command line via MSBuild and the analyze the ouptut of the Delphi compiler/msbuild? The compiler is located in c:\Delphi\Delphi 13\bin\dcc32.EXE but I would prefer to pas the dproj file to MsBuild. I think MsBuild is installed here: c:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe Answer: this requires the user to enable the WSL Interop

Connecting Claude to Delphi Read More »

A Delphi Fuzzy String Compare Algorithm

FuzzyStringCompare calculates an approximate similarity percentage between two strings. It uses a heuristic to count matching characters that are roughly in similar positions, allowing for a tolerance based on string lengths. The tolerance is about one-third of the longer string’s length plus the length difference. The algorithm greedily matches characters from the shorter string to

A Delphi Fuzzy String Compare Algorithm Read More »

FMX bug – Form has incorrect size after startup

I have this weird bug in Delphi 13 FMX where the height of the controls is not correct, at app startup. procedure TForm1.AfterConstruction; begin inherited AfterConstruction; MakeDemoBubble; end; TAutosizeBoxText (based on TRectangle) is parented in a ScrollBox. It is set to Align=Top. procedure TForm1.MakeDemoBubble; begin mmoUserResponse.Text := ‘WhatsApp-like text bubble. ‘ + #13#10+ ‘Cool and

FMX bug – Form has incorrect size after startup Read More »

Embarcadero Delphi CodeRage 2025 Summary [Day1] Free Code Agent: Build Faster Right in Your RAD Studio IDE

“Free Code Agent: Build Faster Right in Your RAD Studio IDE” Presented by Yai (CTO at Solutions, Embarcadero MVP)   Core Idea * AI Code Agents are tools that accelerate coding tasks by generating, refactoring, and scaffolding code inside your IDE. * They do not replace developers; they augment productivity. * Example used: Gemini CLI

Embarcadero Delphi CodeRage 2025 Summary [Day1] Free Code Agent: Build Faster Right in Your RAD Studio IDE Read More »

Embarcadero Delphi CodeRage 2025 Summary [Day1] Maker AI: The Ultimate AI Ecosystem for Delphi

Maker AI: The Ultimate AI Ecosystem for Delphi (Version 3.0) Presented by Gustavo Enriquez   Core Problem * AI integration is fragmented: Multiple APIs (OpenAI, Gemini, Claude, LLaMA, Grok) each with unique SDKs and syntax. * Leads to high dependency and code obsolescence when models change. * Delphi developers need stability and longevity, not constant

Embarcadero Delphi CodeRage 2025 Summary [Day1] Maker AI: The Ultimate AI Ecosystem for Delphi Read More »

Embarcadero Delphi CodeRage 2025 Summary [Day1] Multithreading, Concurrency, Parallelism

CodeRage 2025 was an amazing event. I created a short summary of the CodeRage Day1 presentation for my future reference. Then I thought that it might be useful for others also so I will post it here. This is time consuming… if possible I will summarize the other days also. The text is generated with

Embarcadero Delphi CodeRage 2025 Summary [Day1] Multithreading, Concurrency, Parallelism Read More »

Why we can’t close a form that runs a tight FOR loop, even if we are using Application.ProcessMessages?

A stackOverflow user wanted to know why clicking on the form’s close button while some FOR loop is running does nothing: procedure TForm1.Button1Click(Sender: TObject); var i: Integer; begin for i := 0 to 9999999 do begin Memo1.Lines.Add(‘hi’); Application.ProcessMessages; end; end; The issue comes from the lack of understanding of how the forms work. Here is

Why we can’t close a form that runs a tight FOR loop, even if we are using Application.ProcessMessages? Read More »

How to highlight identifier under cursor in (any) Delphi IDE

If you place the cursor on an identifier (variable/function name/etc), CnPack will show you where that identifier is used in your code. Look for example how easy is to spot where the FBuffPos variable is used in the code below: Also, see how “dangerous” instructions (“Exit”) have been marked in blue! Note: On your Delphi

How to highlight identifier under cursor in (any) Delphi IDE Read More »

How to make NotePad++ open each document in its own tab?

Here is the trick: Go to Preferences->Multi-instances->Default (mono-instance). Close notepad++ Go to “c:\Program Files\Notepad++” and create there an empty file called “asNotepad.xml” (of course, you will need Admin privileges for that). Result: When you double click a TXT file in Explorer, Notepad++ will open and show that new document in its own window/tab.    

How to make NotePad++ open each document in its own tab? Read More »

A vertically collapsible panel for Delphi (round up)

I was looking for a collapsible panel for many years.The most important feature I want from this control is to be able to collapse vertically. Here are the results of my research:   FoldingPanel (VCL) I used FoldingPanel v1.3  http://www.torry.net/authorsmore.php?id=2386 for years. It comes with nice chevron bitmap too. Advantage: The component comes as a

A vertically collapsible panel for Delphi (round up) Read More »

Can’t load package xyz.bpl. %1 is not a valid Win32 application – BPL dependency failure

Locating BPL dependency failure   In one instance my package required another package, but its BPL was not present. The error I got was “Can’t load package xyz.bpl. %1 is not a valid Win32 application”. I used the Dependency scanner feature from ‘PE Explorer’ ( www.heaventools.de ) to detect this. There was supposed to be

Can’t load package xyz.bpl. %1 is not a valid Win32 application – BPL dependency failure Read More »

Scroll to Top