Home Categories Delphi Programming
Category
Cancel

Delphi Programming 64

Preview Image

Why you should not use WITH in your Delphi code (but there is this one cool hack...)

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

Preview Image

Delphi 12 Is Now Available

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

Preview Image

Delphi Developers Twitter Community available

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

Preview Image

2023 Stack Overflow Developer Survey includes Delphi - place your vote today!

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

Preview Image

We just reached 1,000 Members in our Delphi Developers Telegram group!

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

Preview Image

Use CreateProcess and capture the output in Windows

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

Preview Image

Unofficial Delphi LSP fix for 11.2 is now available

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

Preview Image

Simple Code Profiling In Delphi

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

Preview Image

RADAuthenticator Part 5 - Implement a "Hello World" GitHub Action on your self-hosted runner

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

Preview Image

Make your voice heard! 2022 Stack Overflow Developer Survey includes Delphi

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

Preview Image

Skia for Delphi Contest - win an Apple M1 Mac Mini!

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

Preview Image

RAD Studio 11.1 Alexandria is here with binary compatibility with 11.0

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

Preview Image

2021 End of Year Summary

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

Preview Image

How to enable DEP and ASLR to reduce the attack vector of your Delphi applications on Windows

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

Preview Image

How to access private fields with RTTI to give TRESTClient an OnReceiveData event

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

Preview Image

Overflow and Range checking are now enabled by default for Debug builds

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

Preview Image

DelphiCon 2021 coming soon! Free 3-Day online conference for Delphi developers around the world.

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

Preview Image

RADAuthenticator Part 3 - Upgrade Unit Testing in Delphi with TestInsight

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

Preview Image

RADAuthenticator Part 2 - Generate one time password tokens in Delphi using TOTP

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

Preview Image

Base32 encoding in Delphi for an upcoming Google Authenticator replacement app - part 1 of series.

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

Preview Image

New links and resource page for RAD Studio 11 Alexandria

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

Preview Image

Delphi Programmers Discord server available

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

Preview Image

Quick fix for for RAD Studio 11 license failure during installation

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

Preview Image

Customize the RAD Studio 11 Welcome Page for single click activations

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

Preview Image

Delphi Community Edition updated to 10.4.2

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

Preview Image

The end of RAD Studio 10.x named releases with version 11 coming soon

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

Preview Image

Follow up patch for Delphi 10.4.2 released to address Try/Finally issue

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

Preview Image

Patch misfire - try/finally fix to be re-released

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

Preview Image

Two patches for RAD Studio 10.4.2 Sydney released

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

Preview Image

Speed test results building Spring4D in Delphi 10.4.2 versus 10.4.1

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

Preview Image

RAD Studio 10.4.2 is great, but here are some notes

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

Preview Image

RAD Studio 10.4.2 integrates over 30 IDE Fix Pack changes!

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

Preview Image

RAD Studio 10.4.2 is now available with possible cure for the "Blue Dot Problem"

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

Preview Image

RAD Studio 10.4.2 is now available with a much enhanced Error Insight

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

Preview Image

RAD Studio 10.4.2 Sydney Coming Soon! Webinar and more info

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

Preview Image

A good Delphi developer is usually a 10x developer

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

Preview Image

New workspace on Slack.com dedicated to Delphi Programmers

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

Preview Image

Now an Embarcadero MVP for Delphi!

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

Preview Image

Delphi Programming: how it started, how it's going

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

Preview Image

Announcement: DelphiCon 2020 coming November 17-19th

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

Preview Image

Double-dabble and conversions from base-10 and base-2 number systems

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

Preview Image

New book available: Code Faster In Delphi by Alister Christie

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

Preview Image

About binary compatibility on new versions of Delphi

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

Preview Image

RAD Studio 10.4.1 Sydney Released - and Delphi is better than ever!

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

Preview Image

Unit Testing FizzBuzz in Delphi

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

Preview Image

Developer interview questions: FizzBuzz in Delphi

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

Preview Image

RAD Studio 10.4.1 hopefully coming soon

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

Preview Image

Utility class for activating external VCL Style files in Delphi

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

Preview Image

Delphi Tip: Move the instruction pointer during debugging

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

Preview Image

TMonitor event stack fix by a true Delphi MVP

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

Preview Image

RAD Studio 10.4 Sydney is out - a few tweaks required and Community Edition notes

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

Preview Image

Delphi 10.4 Sydney is the best tool for creating Windows Applications

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

Preview Image

Test driving Delphi's TCountdownEvent

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

Preview Image

Newly discovered hidden benefits of inline variables in Delphi

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

Preview Image

Revisiting TThreadedQueue and TMonitor in Delphi

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

Preview Image

Name your threads, even the ones auto-created by Delphi

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

Preview Image

Custom File Dialogs in Delphi via IFileDialogCustomize

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

Preview Image

Delphi JavaScript execution - ditch TWebBrowser for ChakraCore

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

Preview Image

Writing Cross Framework code in Delphi

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

Preview Image

libcurl and Delphi

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

Preview Image

Update 3 for RAD Studio 10.3 Rio has been released!

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

Preview Image

Simple SVG images in Delphi applications

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

Preview Image

Product Review: Pascal Expert

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

Preview Image

DLL Injection with Delphi

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