Delphi Programming Best Practices - Avoid WITH Statements There have been many discussions over the years about using WITH statements in your Pascal code. We just had another short with-related di...
The latest major version of Delphi was released on November 7, 2023. This has been another huge effort towards quality improvements with over 1,200 customer-reported Quality Portal issues closed w...
I received a notification from Twitter that I was invited to start a Twitter Community so I did a quick search and did not find any existing Delphi-related communities, so I started a new Delphi De...
The 13th annual developer survey from Stack Overflow includes options to select Delphi and RAD Studio. This is a very popular survey within the developer community with over 70,000 developers parti...
As of today (May 10, 2023) we have just reached 1,000 members in our English-language Delphi Developer Group on Telegram! (The Brazilian Delphi BR Group is probably the largest Delphi group on Tele...
It is highly likely that most Delphi programmers already have some code in the toolbox for launching applications on Windows. I know that I have written a few different utility functions myself ove...
For users that have upgraded to RAD Studio 11.2, there have been some annoying problems with CodeInsight regressions with the LSP functionality randomly failing. The 11.3 beta process is ongoing (i...
I imagine most Delphi developers have written code similar to the following to quickly test a block of code using the Now function: procedure TDemoExecutionProfilerForm.DoSomeComplexCode; var St...
GitHub Actions is a powerful automation tool first introduced by GitHub back in 2018 and has significantly matured over the last few years. It can be leveraged to automate workflows based on even...
The 12th annual developer survey from Stack Overflow includes options to select Delphi and RAD Studio. This is a very popular survey within the developer community with over 80,000 developers parti...
As announced in an Embarcadero blog post, there is a new contest available to Delphi developers with a chance to win an Apple M1 Mac Mini. Skia is seemingly used everywhere (Google Chrome, Android...
Embarcadero has released the first update to RAD Studio 11 Alexandria on March 15th. I have seen a number of questions about this update and I wanted to post a quick blog entry to help address the ...
As the year is coming to a close, here is a quick look back at this year’s blog posts. There were twenty eight blog posts covering a wide variety of topics and below is a Word Cloud created from th...
TLDR; for 32-bit applications add this line to your DPR: {$SETPEOPTFLAGS $140} for 64-bit applications use: {$SETPEOPTFLAGS $160} {$SetPEFlags IMAGE_FILE_LARGE_ADDRESS_AWARE} or, if you do no...
I was speaking with a colleague the other day who was working on a project which relied on the popular Delphi component trio: TRESTClient, TRESTRequest and TRESTResponse. He wanted to add a progres...
I did not notice this new feature of RAD Studio 11 Alexandria until today. It has been a popular request for a few years now on Quality Portal with RSP-16751 collecting 76 votes since January 2017....
Let it be known to Delphi developers around the world that DelphiCon 2021 is almost here! Click here to find out more details and to view the schedule of this free three-day online event. You can ...
It the first two parts of this blog series, we covered some underlying technical code - first on base32 encoding and then in part-two we covered TOTP for one-time use password generation. We also c...
In part one of this blog post series on an upcoming multi-platform RADAuthenticator Delphi app, we went over base32 encoding which is used for managing the secret key in Google Authenticator compat...
Programmers can be an odd lot - we can have a perfectly good tool available to us and we still yearn to build our own version of it. In this case, Google Authenticator was released back in 2010 and...
Embarcadero has recently unleashed RAD Studio 11 Alexandria. It is certainly another historic release with great features including a massive amount of effort targeting a high quality IDE experienc...
Earlier this year, I started a Slack workspace for Delphi programmers and it has slowly grown to over 300 members, but it currently sees little activity. More activity is seen on a daily basis on a...
License Fix RAD Studio 11 was just released today! For some users, you may have trouble getting RAD Studio installed due to license failures. One way of solving this issue was posted today on Twitt...
One of the features of RAD Studio 11 is a completely new Welcome Page screen. Embarcadero utilized a VCL designed screen instead of relying on browser-based content (as used in previous versions) m...
Great news out of Embarcadero today - the free RAD Studio Community Edition has been updated to the latest version of Delphi 10.4.2! There have been many requests for an updated Community Edition a...
Embarcadero just announced a change in how they will name the next release of RAD Studio but first a little history of Delphi version numbering… based on my notes and memory Turbo Pascal 1.0 came o...
A third patch is now available via GetIt for Delphi 10.4.2 which should address RSP-33117 which is an issue with Try/Finally under non-Windows platforms. As mentioned in a previous blog post, this ...
As posted in yesterday’s blog post, there were two patches released for a few critical bugs in Delphi 10.4.2. One bug fix was RSP-33117 which involves an issue with TRY/FINALLY when there was a RAI...
As posted on Embarcadero’s blog post, there were two patches released today that are important for many wanting to use C++ Builder or Delphi 10.4.2. As discussed in a previous blog post here, 10.4...
Jim McKeeth’s new blog post covered a YouTube video he made comparing building the well-known HeidiSQL open source project in RAD Studio 10.4.1 and then he rebuilt that same project in 10.4.2 resul...
I am quite thrilled with the latest 10.4.2 release of Delphi as there is a lot to love in this new version! However, there are some stumbling blocks which I wanted to document in a quick blog post ...
For many Delphi developers, the use of the IDE Fix Pack from Andreas Hausladen has been a must have tool dating back to the Delphi 2009 release. The extra speed it provided simply made it difficult...
If you are long-time Delphi user then you probably know what I mean when I reference the “Blue Dot Problem”. For those that do not, I will start with an example. The blue dots displayed in the edi...
Last year I posted about the cool new inline variable feature of Delphi and referenced the upcoming LSP-based Code Insight in 10.4 and in a tongue-in-cheek manner I stated that Error Insight “Shall...
Embarcadero has scheduled a webinar for What’s Coming in Delphi, C++ Builder and RAD Studio 10.4.2 Sydney. To help scheduling issues with the worldwide audience, three different time slots are avai...
Delphi is now 26 years old and Embarcadero is celebrating with blog posts and has asked developers to share your favorite quote, comment, story, or feature of Delphi. My quote is simple - if you ar...
There is a brand new Slack workspace with a handful of different Delphi-related channels now available. Everyone is welcomed to freely join today for collaborative discussions on Delphi. Current c...
If you have been a member of the Delphi community for any length of time, you should come to recognize developer MVPs. The Embarcadero MVP Program contains some of the most well-known names in the ...
A recent popular internet meme is two pictures representing a starting position compared to the current state. I thought I would interject a Delphi specific meme with a How It Started and How It’s ...
As just announced on the Embarcadero Blogs site, there’s a new free online Delphi conference coming next month sponsored by Embarcadero. This is different than the normal CodeRage events and this o...
Many of you probably use this trick all the time, but I haven’t heard of this magic double-dabble short cut before today. I wanted to quickly write it down so that I don’t forget it. Base-10 is ob...
It’s great to see books still being published targeting Delphi developers. The latest one is from a well known Delphi developer, Alister Christie and it’s called Code Faster In Delphi, which is ava...
The latest Delphi version 10.4.1 was released yesterday and there’s always a few questions about third party components and version upgrades so I thought I’d put up a quick post in response. Every...
I was really pumped with RAD Studio 10.4 Sydney was released in May. I have been rediscovering my love for Delphi lately and the 10.4 release sounded like it was going to be amazing. I stated back ...
In the last article, a simple solution to the common FizzBuzz software developer interview screening test was discussed. For the majority of employers, the simple solution provided will likely be a...
A lot of time, effort, and money is invested into hiring developers so businesses typically go out of their way to ensure they have a qualified candidate. As I’ve experienced a few times over the y...
RAD Studio 10.4 Sydney was a large release and I was certainly excited to get my hands on it. Unfortunately, the release process was a bit messy and some initial cleanup was required (see my previo...
The VCL Styles feature in Delphi has seen major improvements as of late, including High DPI and 4K monitors in RAD Studio 10.4 Sydney. It seems like a rather niche feature for many Delphi developer...
What is an instruction pointer? This execution pointer holds the address of the next line of instruction. It seems to be defined in the Intel x86 world as instruction pointer, but may be better kn...
I recently blogged about Revisiting TThreadedQueue and TMonitor in Delphi and it spawned some discussions including a thread on the English-language Delphi-PRAXiS forums where a few users participa...
RAD Studio 10.4 Sydney has been released, and it’s the biggest release in many years containing many improvements across the board. With such a large release, there was bound to be a few minor a...
The best tool is getting even better! The latest release of Delphi is to be launched this week and the support for Windows is much improved with High DPI Styles and per control styling support! De...
In this post, we take a look at TCountdownEvent from the System.SyncObjs.pas unit, first introduced back in Delphi XE. To be honest, I haven’t used this class before. It’s a shame too, as it seems ...
To be honest, I have always regarded the new inline variables in Delphi 10.3 feature as something that I would never use, except perhaps variable initialization as that is obviously a very cool t...
Unfortunately, both TThreadedQueue and TMonitor have a tainted history in Delphi. The original release of TThreadedQueue looked promising, with Mason Wheeler even classifying the new feature in Del...
I haven’t heard of too many Delphi developers that insist on naming all threads created in an application, but I think it is good practice. Call me overly pedantic if you must, but the practice cer...
While today’s programmers are typically excited about new browser-based technology, the old school Component Object Model (COM) in Windows is still leveraged by a very large portion of business sof...
I assume a large portion of the Delphi developer community has leveraged TWebBrowser to some degree over the years - I know I have used it many times. So, when I started a new project and wanted to...
Sharing Delphi code between your FMX and VCL applications is pretty easy for non-visual functionality, with the exception of zero-based strings (and ARC on mobile platforms which is being rolled ba...
libcurl is a hugely popular tool, available on most platforms and supports many internet protocols. I’ve mainly used it for HTTP GET/POST tasks but there’s built-in support for FTP, IMAP, POP3, SMT...
This is likely the last update for 10.3 Rio before we get a new major release sometime in 2020. That is, besides hotfixes/patches of course - and there’s already a patch available for fixing a pr...
Scalable Vector Graphics (SVG) are becoming more popular as an alternative to providing custom sized icons for the various target devices in use. In the old days it certainly felt much easier. Of c...
The Delphi and Pascal developer community has historically had many active third-party tools and components. The current perception held by many is that the majority of these solutions have been ne...
I had recently spent some time playing around with the simple to use DelphiDetours package from Mahdi Safsafi https://github.com/MahdiSafsafi/DDetours One missing feature is the ability to inject...