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 it 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

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 a

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

Again on FreeAndNil – A meaningless debate?

Recently, I came across a forum where somebody described FreeAndNil as an “abomination” and I think that’s a bit over the top. Let’s unpack this topic carefully, with technical clarity and an eye for proportion. FreeAndNil(SomeObject) is just syntactic sugar for: if SomeObject <> nil then begin SomeObject.Free; SomeObject := nil; end; The actual implementation

Again on FreeAndNil – A meaningless debate? Read More »

Amsterdam Delphi Summit 2025 (A call to arms for bringing in “fresh blood”)

I was undecided if I should attend to this conference or not because I didn’t have enough information about the previous one. So, here is my 2.5 cents. A Journey by Bicycle Setting off in early June from Denmark on two wheels, I pedaled a few hundred km for the Delphi summit. The northern weather

Amsterdam Delphi Summit 2025 (A call to arms for bringing in “fresh blood”) Read More »

Connecting Delphi 12 to Gemini AI (Smart CodeInsight)

Generate your key here https://aistudio.google.com/app/apikeyand enter it into the IDE. As URL enter: https://generativelanguage.googleapis.com/v1 Parameters Top-P [official documentation] Top-P changes how the model selects tokens for output. Tokens are selected from the most (see top-K) to least probable until the sum of their probabilities equals the top-P value. For example, if tokens A, B, and

Connecting Delphi 12 to Gemini AI (Smart CodeInsight) Read More »

New in Delphi Athene (12.0)

IDE Removed deprecated features: VCL Translation Support & Modeling Object Inspector – New string list editor Multiline string Editor Multiline string literals The Find in Files dialog now has a new Subdirectory exclude mask option, which excludes specific folders from being searched when using the Search in directories and Include subdirectories There are default exclusions

New in Delphi Athene (12.0) Read More »

New in Delphi Sydney (10.4)

10.4 Styles are finally working! Better support for high DPI monitors. High DPI support in styles (skins) Per Control Styling Better cross platform support Custom managed records – records now support custom initialization, finalization, and copy operations. Developers can customize how records get created, copied, and destroyed, by writing the code to be executed at

New in Delphi Sydney (10.4) Read More »

New in Delphi Rio (10.3)

Dark-light themes for IDE The IDE includes some of Andreas Hausladen’s “IDE Fix Pack” fixes and improvements (FINALLY!) High resolution timer caused by using Virtual Treeview. Findhinstance optimisations. Debugger using CREATE_DEFAULT_ERROR_MODE when creating the process. Tstringlist indexof and Name optimizations. High DPI Image List Support. Can fully support multi-resolution, pixel perfect images on all controls,

New in Delphi Rio (10.3) Read More »

New in Delphi Seattle (10.0)

New custom VCL controls corresponding to some new Windows 10 UI controls, which can also be used on previous version of Windows. New VCL controls: TActivityindicator, TSearchbox, TRelativePanel, TToggleSwitch, TSplitview Modern looking SelectDirectory function Support for Windows 10 Notifications using the notificationcenter component Box2D physics engine. Object Pascal interfaces for the Box2D physics engine Support

New in Delphi Seattle (10.0) Read More »

New in Delphi 12 – GetLinesEnumerator for reading text files line by line

GetLinesEnumerator – New enumerators for reading file content Returns the line-by-line enumerator without loading full file content into the memory. Memory Efficiency: TFile.GetLinesEnumerator reads the file line by line, which is memory-efficient for large files. Unlike TFile.ReadLines (which loads all lines into a list), this method streams the file incrementally. I test it with both

New in Delphi 12 – GetLinesEnumerator for reading text files line by line Read More »

CDN/Cloudflare – error:14094438:SSL routines:ssl3_read_bytes:tlsv1 [OR] error:14077438:SSL SSL23_GET_SERVER_HELLO:tlsv1

While trying to communicate with my HTTPS server, I encountered a problem when CDN (Cloudflare) was active. Exception class EIdOSSLUnderlyingCryptoError with message ‘Error connecting with SSL. error:14094438:SSL routines:ssl3_read_bytes:tlsv1 alert internal error’. error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error’. I switched to TNetHTTPClient and it worked. Here is the code: // TNetHTTPClient. function GetToken(CONST URL: string; StatusInfo: TCallbackEvent

CDN/Cloudflare – error:14094438:SSL routines:ssl3_read_bytes:tlsv1 [OR] error:14077438:SSL SSL23_GET_SERVER_HELLO:tlsv1 Read More »

Saving an object to disk/file

Serialization is a critical technique in programming, enabling objects to be saved to disk or transmitted over a network. While there’s no universal, automatic way to serialize complex objects in Delphi (due to challenges like private fields), manual serialization is straightforward—and binary serialization, in particular, stands out as the fastest and most efficient method. In

Saving an object to disk/file Read More »

I refactor your old code for free!

Stuck With Legacy Delphi Code? I Can Modernize It! Are you still working with old Delphi codebases using AnsiStrings, raw pointers in arrays, TStringList misusage, hardcoded typecasts, goto, blocking timers, Application.ProcessMessages, or excessive global variables? Would you like to upgrade it to modern coding standards, ensuring compatibility with Delphi 11.3 and 64-bit environments? I will

I refactor your old code for free! Read More »

My odyssey in the world of bioinformatics, with Delphi

After a conversation about the low popularity of the Delphi language—further worsened by the lack of libraries for Delphi—I decided to share my odyssey in the world of bioinformatics, using Delphi as my primary development tool. My toy tool that turned into a commercial product Back in 2007, I wrote a small tool for a

My odyssey in the world of bioinformatics, with Delphi Read More »

Delphi Firemonkey – ld.exe cannot find shlwapi.dll: No such file or directory

After installing FMX and using it for a while I started getting a weird “ld.exe cannot find shlwapi.dll” message. There was nothing like this to be found on the internet! I posted a question of StackOverflow but people started to point in (as later turned out to be) totally wrong directions. The complete error msg

Delphi Firemonkey – ld.exe cannot find shlwapi.dll: No such file or directory Read More »

Scroll to Top