IDE

Delphi-IDE

Connecting Delphi 12 to Gemini AI

Generate your key here https://aistudio.google.com/app/apikey and 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, […]

Connecting Delphi 12 to Gemini AI 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 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 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 »

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

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

Too many programmers don’t understand exceptions. Do you?

I am still amazed to see how many (even seasoned) Delphi programmer don’t understand exceptions. This post starts from a nice video posted by the Silver Coder. He states that exceptions are not the best idea and the reason mentioned in the short video is that try/except makes the code slow and difficult to read.

Too many programmers don’t understand exceptions. Do you? Read More »

Never create a new Delphi project – Use templates instead!

Note: This article is tightly connected to the “How to correctly set the compiler options” article.   Somebody asked how to set the default project options for a new Delphi project. I stopped years ago wasting time with this. Instead I have a folder where I store a “template” project. You can find this Delphi

Never create a new Delphi project – Use templates instead! Read More »

$(Auto) – One package to rule them all

Note: This page is an excerpt from my “Delphi in all its glory – Libraries” book.   $(Auto) is a new environment variable, introduced in Delphi 10.4. Embarcadero didn’t make a big show around it so it went unnoticed by most programmers. But don’t ignore it! It is extremely useful for packages, where it can

$(Auto) – One package to rule them all Read More »

AI plugins for Delphi (a sad story)

My Experience with Cursor: The Promise and the Reality   This week, I had the opportunity (or perhaps the misfortune?) to try out Cursor, a new tool that promises to enhance productivity for programmers. As someone who primarily works in Delphi, I was curious to see how it would stack up. Cursor is an AI-powered

AI plugins for Delphi (a sad story) Read More »

KSDev CrossVCL – A framework that allows you to build multi-platform applications.

KSDev released this year CrossVCL – a framework that allows you to build multi-platform applications. What is the difference between Firemonkey and CrossVCL? If you want to make your current app multi platform, you need to port it to Firemonkey. With CrossVCL you don’t need anything!!! They really upgraded Delphi/C++ programming to a brand new

KSDev CrossVCL – A framework that allows you to build multi-platform applications. Read More »

Cool new features and functions in Delphi

 List of IDE features that are cool Search backwards – Ctrl+F to do a search in your code. F3 to go to the next position Shift+F3 to go to previous position. Move/Relocate/Rename project’s files directly from Project Manager Navigate to recently modified code – Ctrl+Shift+F7 and Ctrl+Shift+F8 Search for usage – Right click a variable

Cool new features and functions in Delphi Read More »

False antivirus reports on installers created with WinRAR

I recently observed that Setup files created with WinRar have a high false positive detection rate from antiviruses. Here are the conclusions of some test I made, in order to reduce the false positive rate: RAR version    SFX module     Detection ratio WinRar 3.11      32bit             1/66 WinRar 4.2       32bit?            3/66 WinRar 5.50      32bit             6/67 WinRar 5.50     

False antivirus reports on installers created with WinRAR Read More »

Yet another EurekaLog bug. How many until now?

I stepped last week in a multiple-bug situation with EurekaLog for Delphi. I again wasted MORE than a day with this buggy “exception tracer tool”. My DRP file is like this: PROGRAM MyProgram; uses {$ifdef win32}fastmm4,{$endif} EurekaLog_units_come_here This worked fine until I compiled the program to 64 bits. On 64 bit, EurekaLog refused to work.

Yet another EurekaLog bug. How many until now? Read More »

Delphi programs have too many false positive detections

Most of my Delphi programs are flagged as virus by some antivirus programs. Some of these antivirus programs are really cheap/under-the-table products (such as Baidu and Comodo) other are big (TOP) name like Kaspersky. In theory you should report a false positive to the antivirus producers so they can fix their bug but if the

Delphi programs have too many false positive detections Read More »

How to configure EurekaLog to send bugs via email

Email sender settings in EurekaLog v7 SMTP Server [1] Simple MAPI MAPI Shell (MailTo)  SMTP client [3] Can attach the ELP file Yes Yes [2] Yes [2] No Yes See sender’s email No [4] Yes Yes Yes No Email client software* Not required Required Required Required Not required Chance of success Highest chance among all

How to configure EurekaLog to send bugs via email Read More »

Another bug in EurekaLog 7

I wanted to send an email (“Send via SMTP client”) from EurekaLog v7.4.8.0 RC 1 but I was getting this error: FAILED: Error code = -2146885613 The revocation function was unable to check revocation because the revocation server was offline EurekaLog 7.4.8.0 RC 1 Testing send with TELMailSMTPClientSender Options: _BugAppVersion=”21.0.17707.5020″ _BugID=”73D40000″ _BugIDSource=”bds.exe My email is

Another bug in EurekaLog 7 Read More »

TStringBuilder – Optimizing Delphi’s strings for speed

Today I needed a function that will wrap a string (a contiguous block of characters with no spaces) after 80 characters. Not only that I have found SysUtils.WrapText unsuitable (it can only wrap text IF the text contains spaces) but it is also terrible slow. So I build my own function: function WrapString(CONST s: string;

TStringBuilder – Optimizing Delphi’s strings for speed Read More »

Delphi XE7 IDE crash due to CnPAck MSDN Help Integrated

After spending 2 full hours I managed to find the culprit for an IDE crash (access violation in VCL210). The cause was …drum roll please… CnPack! There was a palette in IDE’s main tool bar called MSDN Help. However, when I right click to configure the toolbar, the palette was not listed there to show

Delphi XE7 IDE crash due to CnPAck MSDN Help Integrated Read More »

No mapping for the Unicode character exists in the target multi-byte code page

Today I tried to open an old project. While loading the main DFM form I got a “No mapping for the Unicode character exists in the target multi-byte code page” error. After some time I figured out what caused it: the form had a custom control that had a property like this: HeaderCellSpacing = 1.300000000000000000.

No mapping for the Unicode character exists in the target multi-byte code page Read More »

How to set paths (library, debug, BPL, DCP, search) in Delphi XE7 (for multiplatform use)

So, Delphi’s help doesn’t tell us much about how to set up paths for DPK packages. It is ok. So, I will tell you how I do it so they work both on 32 and 64 Win platforms: My packages I have these major packages/folders: Graphics32 Drag and Drop (Melander) 3rd  Party (many small packages

How to set paths (library, debug, BPL, DCP, search) in Delphi XE7 (for multiplatform use) Read More »

Fix for Exception EAccessViolation in module rtl210.bpl at 00016A9C [SOLVED]

I keep getting this error at Delphi shut down: Application Error – Exception EAccessViolation in module rtl210.bpl at 00016A9C. Access violation at address 50066A9C in module ‘rtl210.bpl’. Read of address 06152AF8. Solution 1: The problem is fixed by restoring this registry key to its original state: [HKEY_CURRENT_USERSoftwareEmbarcaderoBDS15.0Known IDE Packages] Here is the pristine value for

Fix for Exception EAccessViolation in module rtl210.bpl at 00016A9C [SOLVED] Read More »

Delphi: Access violation in module ‘bindcomp210.bpl’

I keep getting an “Access violation at address 1204F872 in module ‘bindcomp210.bpl’. Read of address 1423C764” message during Delphi startup. After poking around I have found the solution: delete the “Project” and/or “SaveFileDirectory” keys in [HKEY_CURRENT_USERSoftwareEmbarcaderoBDS15.0Session]   02.2015  

Delphi: Access violation in module ‘bindcomp210.bpl’ Read More »

Scroll to Top