Delphi is Resilient

Delphi is Resilient

Welcome to the Delphi section.

Here you can find articles that share my passion for this fantastic technology.

Delphi is resilient, it has survived everything thrown at it, and it remains one of the best technologies for desktop development. It is more relevant than ever.

My Journey with Delphi

I first started coding in Delphi in 1998.

Switching from Visual Basic and C++/MFC to Delphi was an incredible experience. No more Document Model, no more ASX messages. Simplified Win32 and COM programming.

Nearly three decades later, Delphi is better than ever.

An Experiment with Kai

Building a Delphi FMX Mobile UI with Kai: A One-Day Experiment.

Deleaker Review

A review of Artem Razin's memory leak profiler for Delphi.

Fixing FMX Debugging on Ubuntu 26.04

Fixing Delphi PAServer 37 Debugging on Ubuntu 26.04 (_Py_IsFinalizing Error).

Older Posts

Compiler optimization via elision affecting initialization of managed records.
more...
How to play an animated Gif in FMX.
more...
Fixing an error caused by an unexpected filename in a TStyleBook.
more...
How to reduce nesting and ensure deterministic cleanup.
more...
Changes introduced in Delphi Rio affecting const argument semantics.
more...
A quick demonstration project to enumerate drives and their serial numbers.
more...
Creating a system-wide hotkey to bring an application to the front.
more...
First discovering FMX and taking it for a test drive.
more...
How to handle an interactive zoom gesture on a frame.
more...
Scaling fonts in FMX mobile apps based on Material Design 2.
more...
Scaling fonts in FMX Windows based on Material Design 2.
more...
Handling the back button event on Android phones.
more...
How to use a named semaphore in a Windows application.
more...
Some tips for working with the TScrollBar control.
more...
Speeding up tab transition animations.
more...
String indexing best practices.
more...
Configuring the deployment settings for an Android app.
more...
Declaring static local variables in Delphi.
more...
A potential fix for when a frame is suddenly unable to open.
more...

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.