r/delphi • • Jul 18 '18

Embarcadero releases free Delphi and C++ Builder Community Edition

Thumbnail
youtube.com
72 Upvotes

r/delphi • • Jan 23 '26

How Borland Lost — Despite Building Delphi

Thumbnail
youtube.com
63 Upvotes

r/delphi • • 15d ago

New Release Resurrecting a 1996 Turbo Pascal DOS Scrolling Shooter in 2026: From Borland to Delphi to Free Pascal, Lazarus, & SDL2

Thumbnail
gallery
57 Upvotes

A retro scrolling arcade game called River Run is back from the dead after thirty years!

Back in 1996, as an homage to my favorite Atari 2600 game River Raid, I wrote the original v0.9 beta in Borland Turbo Pascal for DOS. Right as it was being released to FidoNet BBSs and primitive file archives of the day, a silly bug in my setup program prevented most people from even installing it in the first place.

Exhausted and depleted with fighting the compiler and being unable to even debug such a large program with sound and graphics, I was more than eager to get away from the limitations of DOS programming and manual memory management—and was off to the races with Windows programming by way of Delphi.

As a rabid Pascal enthusiast, I pretty much refused to work in C++ or Java commercially even as a software engineer, except for C++ Builder—which we all know is Delphi dressed up in disguise.

Fast forward three decades: I’ve resurrected River Run, porting the original Turbo Pascal code into Free Pascal and Lazarus using SDL2. No game engines and zero bloat from heavy frameworks—just direct procedural code, raw 320 by 200 8-bit palleted graphics, modern CD-quality sound, and even fun new mechanics like full controller and force feedback support.

Links & Media

Technical Specs At A Glance

  • Language & IDE: Free Pascal / Lazarus

  • Graphics & Rendering: Raw 320x200 8-bit palleted graphics using SDL2

  • Audio: Modern all original 90s soundtrack with custom multichannel dsp engine

  • Controls & Haptics: Full controller support with force feedback mechanics

  • Architecture: Pure procedural engine-less code—zero commercial game engines, zero AI, and no heavy frameworks

Future*: Once a Windows build is released, immediate work will begin porting to Android, Mac, Xbox, and PS5. Afterall, all SDL2 code will remain the same.*

I’d love to hear feedback, engine and code discussions, and SDL2 insights from fellow Free Pascal, Lazarus, and Borland veterans!

Cheers,

Steve Barber

1 Mile Up Software

Denver, CO

https://1mileupsoftware.com


r/delphi • • Dec 09 '24

VCL Best Practices

Post image
51 Upvotes

r/delphi • • Jun 02 '25

Why isn't Delphi the #1 language on the planet?

50 Upvotes

I've been a developer full-time since 1978, so I've seen my share of languages over the last 40+ years. Every 5-10 years or so, I had to re-invent myself to stay current, but found that eventually languages had their own commonality. In the mid 90s, I was asked by a company in Australia to learn Delphi but stupidly didn't take them up on it. It would have been free education on their dime, but I was stuck in my ways writing software on the Mac at the time.

In the early 2000s I revisited Delphi and started to learn it. This was driven mainly by the Firebird project, as I needed a cross platform solution that wasn't going to destroy my wallet with licensing fees. I transitioned to Linux about that time, and never really looked back from that. However I had clients that wanted Windows software and eventually web based, so I dabbled in Delphi (really loved it), but the bills had to be paid and my lowest hanging fruit back then was PHP. So I spent the last 20 years writing web apps in LAMP stacks, but with Firebird SQL as the back-end, built a managed hosting business and all was fine.

Until recently. My PHP was obsolete, and every other choice in my stack (with the exception of Linux) seemed to be going the way of the dinosaur. Not my first rodeo, of course. I've been through these cycles all through my career, but in the late 2010s, I decided to put myself on a path to retirement, eventually left my clients to sort out their tech on their own, and moved to Mexico. I wanted a simpler life.

Here I sit. I have time now. I'd like to still make a few bucks in software, but I don't need to make the big bucks. I'm now doing this for the enjoyment. And that brings me back to Delphi. I love the idea of being able to code once, and deploy anywhere. I'd love to be writing phone apps, tablet apps, etc. I use a Mac as my daily driver, but I still have co-located servers running Linux. I've built Linux based libraries and called them through Apache as CGIs and it works great. I'd love to expand on that and ditch PHP forever.

Am I living in some illusion here? If I spend a year or so getting my chops up on this, will it end badly? I've asked myself that question for the past 25 years, but if I was to not engage with the language, it seems I've constantly missed out not only on an enjoyable programming experience, but also on the opportunities to build for IoT, phones, Android TV, etc. I'm getting deep into smart home tech and I could definitely use a platform that I could leverage my coding knowledge into embedded devices.

Will Embarcadero be around to support me? I watched through the whole Borland -> Code Gear -> Embarcadero M&A game. I'm still big in open source and love Firebird and would prefer to stay with what I know. But I don't need to earn 6 figures with this now. I don't need (or want) to be some pawn in an IT department, or work for some corporation. I'm not a fan of organizations and their politics or the social stigma of not earning 6 figures to prove to people I don't like that I'm "successful". I did that, and glad to be out of that racket.

Can anyone here give me any angle on this that I'm not considering, or if your own experiences match or conflict with mine? Thanks in advance.


r/delphi • • Jan 15 '25

Question Is Delphi a good first programming language?

49 Upvotes

Hello everybody, I‘ve recently decided to learn programming and thought that prior to pursuing any sort of degree I would first learn some hands on things to see if it fits me.

The reason Im considering Delphi is because I‘ve recently joined a company that uses a Delphi based ERP system in Germany and the company only has one programmer and both the company and the programmer have expressed interest in somebody assisting with the erp system.

The programmer has also spoken with me personally and offered to provide me with some guidance if I choose to learn it.

I have googled and chatgpted the topic now and it seems to say that delphi will deliver good foundation but that other more common languages will deliver similar results.

So the question for me would be, should I learn delphi now to get started or should I learn more common languages like python or java which may pave the road better for the future. Will learning Delphi leave any major gaps for future languages or will it provide a good foundation? Will learning another language provide a good foundation for learning delphi etc.

I would appreciate a response but have a great day either way!


r/delphi • • Feb 20 '21

My new Delphi project(Im still a beginner). I wated to show my GUI im super proud of how it turned out. It is still under development.

49 Upvotes

r/delphi • • Sep 29 '26

Sorry Delphi, i have to quit

48 Upvotes

(pardon my english, i'm french)

TLDR: the CE version can't build and push iOS apps to app store anymore (and no one seems to care)

Well, i've been coding with delphi for 25 years. Personnally and professionally.

I've been so hyped by the "one codebase, multiOS capable". I started coding mobile apps five years ago. Android apps, as they were for my sole usage.

A year ago, i had an idea, a nice concept that could be sold. My architecture was simple : a database, a backend and a mobile app.

I tought myself : "ok, can the backend be coded with delphi ? Yes it can, but integrated REST capabilities are for the pro version". ok, I only have the community edition, so i'll go for mongodb+java/springboot for the backend, a stack i use in my daily work.

But i really wanted to code once and deploy to both android and iOS easily, so i kept delphi CE for the mobile app. I coded for months, built my backend + app + ci/cd + self-hosted infra.

I managed to deploy my app on my android phone and i bought a mac mini and an iphone 13 to ensure myself it would run on IOS correctly. And it amazingly did !

last weekend, I went to the last step of my project : launching an alpha version on both play store and app store.

Apple refused my upload : "need version 26". I was compiling under delphi 12.1 CE with SDK 17.5.

I upgraded to delphi 13 CE and SDK 26.4. Building my app fails : "[DCC Error] E2597 ld: file too small (length=0) for architecture arm64".

I then find out that no delphi community edition (12/13) can build IOS app anymore. Since march. because of a bug that has been corrected in the pro version, 4 months ago.

I really wanted my app to be a delphi jewel. I coded each screen with love, no AI, no fancy new way of doing things, just plain old code that could in the end produce a beautiful and clear mobile app. And being able to say to my testers : available on android and IOS from day 1.

i'm stuck with a promise i can't fulfill. Because delphi didn't fullfil its own promise : "use the CE edition freely, create and distribute your app on any OS, make money, and if you reach 5k$, please buy the pro version". I was totally aligned with that philosophy. Delphi just lied to me : i can't build my app for iOS with the CE edition. And i'm so disappointed. No little patch, no 13.1 CE release date, no communication. Just near-dead delphi forums where people like me come and state that they can't workaround this problem, and there's no date for a solution.

The only viable solution would be to buy the pro version : what a joke, 2400€ + taxes. Sorry, i don't have that much money for now. And if my app doesn't make money, it will be lost to nothing. I won't risk all that money just because of a bug that could be solved in a day if someone makes an effort.

So i asked my favorite chatbot what i could do : "go to flutter. it's free, maintained by google, and with your experience, within 2 months adapting you won't regret the move."

So sad to hear. But i have to be pragmatic, my app and my future business can't wait for an hypothetical update of my dear old IDE friend.

I quit Delphi, i regret i have to do this, i'll miss my good old dark blue "classic" theme.

A sad delphi enthousiast.


r/delphi • • Feb 13 '25

Happy Birthday! Your Delphi is 30 Years Old!

Thumbnail
delphiparser.com
43 Upvotes

r/delphi • • Aug 11 '26

Delphi 13 CE Now Available

Thumbnail
blogs.embarcadero.com
40 Upvotes

r/delphi • • Apr 23 '26

Project I've been developing a massive online gaming platform with 5M users for 25 years using Delphi. From Delphi 7 to Delphi 12/13, here is my journey. (AMA)

38 Upvotes

Hi everyone,

I’m Ihsan, a developer and former academic from Turkey. I started a project called Hakkarim.net back in 2001. What started as a simple dial-up connection checker evolved into a platform with 17 different games (101 Okey, Domino, etc.) and millions of registered users.

I still maintain and develop the system using Delphi. We have legacy components running on Delphi 7 and modern modules on Delphi 12 and 13.

What we can discuss:

  • The Power of Native & Legacy: Why I stuck with Delphi for 25 years. How 1MB executables provided a massive distribution advantage since the 56K modem era.

  • Networking & Protocol Challenges: Moving from UDP broadcast (serverless) to a robust TCP server-client architecture. Handling TCP stack issues with custom PONG protocols.

  • Security & Anti-Cheating: Fighting memory editors (client-side) and securing network traffic with TLS-safe sockets.

  • Versioning Philosophy: Why I chose "Version 1" stability over radical UI changes for 21 years to keep user habits intact.

  • Community Management: Scaling to 50k concurrent users and managing the sociology of a large digital community.

  • Career: My transition from 30 years of academia back to full-time indie development.

  • A technical update for the backend enthusiasts:

This ise a pure Full-Stack Delphi ecosystem. It's not just the game client that's native; the entire web infrastructure is also built with Delphi using WebBroker (CGI & ISAPI).

To show the efficiency of native code, here is a look at our server performance:

As you can see in the screenshot, with 7,000 concurrent players (210 processes & 11606 threads) 25 Mbps bandwidth usage, the total CPU load—including the database server and web server—is only at 3%.

What’s even more important is the stability: this screenshot was taken with 34 days of uptime. Handling this kind of scale for over a month without any performance degradation or restarts shows the true power of an optimized Delphi backend on modern Xeon processors.

Detailed History & Technical Specs :
(English): https://www.hakkarim.net/history.htm
(Turkish): https://www.hakkarim.net/tarihce.htm

I’m here to share my experience with the younger generation and talk about the past and future of the industry. Ask me anything!


r/delphi • • Dec 23 '25

My RTS game written in Delphi - Knights Province Alpha 13 release

Thumbnail
knightsprovince.com
38 Upvotes

r/delphi • • Jul 27 '25

💾 A 35-Year-Old Turbo Pascal Program Gets a Delphi 11.3 FMX Facelift

Thumbnail
capecodgunny.blogspot.com
38 Upvotes

r/delphi • • Mar 13 '25

Delphi 12.3 Released Today

Thumbnail blog.marcocantu.com
37 Upvotes

r/delphi • • Feb 15 '25

Happy birthday delphi

37 Upvotes

30 years old and still going ...


r/delphi • • Jan 07 '25

Question Why Delphi is like this?

37 Upvotes

Delphi development is a new field for me, and my experience thus far has been fantastic. It possesses features that are typical of older programming languages – something that reminds me of Visual C++ 6 and VB 6 – both of which I quite enjoyed. The reason I was mostly attracted to Delphi is because of its architecture that is close to development for Windows, especially along the lines of how it tackles Win32. It is a blend of nostalgia and comfort, from how the IDE looks and functions to how the final application looks and feels – everything feels old school rather than the overly sleek and modern applications that have become common practice to most of the other tools available in this day and age. All in all, the smoothness and functionality is what makes this tool evergreen.

However, the experience has not been completely uninterrupted, as I did notice some limitations. for those that are new to programming or are independent developers, would find it extremely difficult to adapt to the programming world as most of the component and third party libraries available for Delphi are paid. On top of that, the resources available on the internet also felt lacking in detail or more limited than most other programming languages and frameworks.

Another issue that I would like to highlight is most of the people in the quasi or fully established programmer community that have used or are using Delphi are older, such that the new generation of programmers feel unfamiliar with it. Which in term raises a question that leaves me pondering, - if there so much prominence around this engineering tool, then why hasn’t it been able to captivate the new generation of programmers?

I don't know if anyone can relate to what I'm trying to express, but I honestly feel a bit sad about this situation. Delphi seems like such a powerful tool that deserves more recognition and support.

What is the reason for this? I feel like Delphi has so much potential and deserves a more accessible ecosystem.


r/delphi • • Jun 10 '23

r/delphi will be going dark from June 12-14 in protest against Reddit's API changes which will kill third party apps

37 Upvotes

I realize our subreddit going dark won't have much impact compared to other subreddits with millions of members, but I think it's important to make a unified stand.


r/delphi • • Feb 24 '25

RAD...They Aren't Lying

36 Upvotes

Still reading the Delphi book I have, but wanted to experiment a bit with a component I purchased. In 15 minutes I had a working prototype for an app I am going to build. It involves recording video off different devices via HDMI input USB. Literally two buttons with video display on a form and 10 lines of code. Works like a charm!


r/delphi • • Oct 29 '25

Is Borland Delphi Simply That Good - and Will Live Forever?

34 Upvotes

Every few months, I run into another enterprise quietly running a 30-year-old Delphi application, often with no full-time developer left on staff. And yet, the system just keeps on going. Stable. Reliable. Untouchable.

It makes me wonder: Is Delphi code simply that good — or are we witnessing the quiet strength of legacy done right?

Here’s what I’ve seen:

  • 🧱 Delphi apps age well: Built for Windows, they just run. The VCL is fast, compact, and efficient.

  • 💾 Business logic froze in time: Many of these systems support processes that haven’t changed much since the 90s.

  • 🔄 Backward compatibility: Microsoft’s dedication to Win32/Win64 means even ancient binaries still work.

  • 💡 Low maintenance: No cloud bills, no containers, no orchestration overhead. Just one EXE that refuses to die.

But here’s the flip side:

  • ⚠️ The bus factor is zero — the only person who knew how it works retired years ago.

  • 🔒 Security and compliance are relics of another era.

  • 🧩 Integration with modern systems is painful.

  • 🧑‍💻 Talent pipeline is thin, and the toolchains are fading.

So… what’s next?
Should we celebrate Delphi’s resilience—or worry that it’s become too irreplaceable for its own good?

Can Delphi code live forever?
Or are these silent systems the digital equivalent of a ticking time capsule—running flawlessly until one day, they don’t?

💬 I’d love to hear your thoughts.
Have you encountered a long-running Delphi app still in production?
Is it better to freeze, modernize, or migrate—and why?


r/delphi • • Feb 09 '19

A game written in Delphi from scratch - Knights Province Alpha 10 is released

Thumbnail
self.indiedev
34 Upvotes

r/delphi • • May 12 '25

Project I am excited to share my first Delphi project.

33 Upvotes

Hi!

I a beginner in Delphi and Pascal programming, and I am excited to share my first project with the community. The application is a Windows VCL Application that allows a user to create their to-do tasks. I did this project in one day, yes in one day and I want share it with you.

I've included the following features in the application, and some screenshots to give you a better idea of how it looks like:

  • Add a task to the list.

  • Display the tasks from file.

  • Remove the selected task.

  • Save tasks to a file.

  • Load tasks from a file.

  • Exit with a close button.

The application is using the custom style "Charcoal Dark Slate" developed by the Embarcadero Technologies community. I am still yet to learn how to create my own styles, if possible to take my learning to the next level.

I have learned a lot from creating this project. I got my hands on the design and code parts of the technology ecosystem. I've have witnessed the power of this technology, it can help you develop software faster than you can imagine. The Delphi IDE Community Edition is so easy to use and it's pretty straight forward, and it seems to be lightweight even.

Okay with that been said about Delphi, I would love to hear your thoughts and feedback on these project. What do you like about it and where can I improve ? Your feedback would really help me take my skill set to the next level.

Thank you for checking out my project and I am looking forward to hearing your thoughts. Below I have attached the code for you to review and also give feedback about the best practices of Delphi.

Once again, thank you see you on the comment section.

unit ToDoForm;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls, Vcl.Menus, Vcl.Themes, Vcl.Styles;

type
  TForm1 = class(TForm)

    ListTask: TListBox;
    TaskInput: TEdit;
    SaveFileBtn: TButton;
    LoadFromFileBtn: TButton;
    RemoveAllBtn: TButton;
    CloseBtn: TButton;
    SaveDialog1: TSaveDialog;

    procedure FormCreate(Sender: TObject);
    procedure AddTaskBtnClick(Sender: TObject);
    procedure CloseBtnClick(Sender: TObject);
    procedure SaveTaskOnFile(Sender: TObject);
    procedure RemoveAllTask(Sender: TObject);
    procedure LoadFromFileBtnClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
// Initialise some components when the form is created.
procedure TForm1.FormCreate(Sender: TObject);
begin
Caption := 'Pilot To-Do List Application';
Self.LoadFromFileBtn.Font.Name := 'Segoe UI';
Font.Name := 'Segoe UI';
Font.Size := 10;
// style the forms
TaskInput.AutoSize := False;
TaskInput.Height := 40;
// style the buttons
CloseBtn.Font.Color := clGreen;
// dialogue styles
SaveDialog1.Title := 'Save File';
SaveDialog1.DefaultExt := 'txt';
SaveDialog1.Filter := 'Text Files (*.txt)|*.txt|All Files (*.*)|*.*';
// put some placeholders into the "Task List Box" & "Task Input field".
ListTask.Items.Add('Your tasks will appear here...');
ListTask.Enabled := False;
TaskInput.TextHint := 'Type your task here!';
end;
// Add a task to task list
procedure TForm1.AddTaskBtnClick(Sender: TObject);
begin
if TaskInput.Text <> '' then
begin
if not ListTask.Enabled then
begin
ListTask.Items.Clear;
ListTask.Font.Color := clBlack;
ListTask.Enabled := True;
end;
ListTask.Items.Add(TaskInput.Text);
TaskInput.Clear();
end;
end;
// clear all tasks on the list box
procedure TForm1.RemoveAllTask(Sender: TObject);
begin
if (ListTask.Items.Count = 1) and (ListTask.Items[0] = 'Your tasks will appear here...') then
begin
ShowMessage('There is nothing to clear, start typing your to-do tasks!');
end
else
begin
ListTask.Items.Clear;
end;
end;
// close the application
procedure TForm1.LoadFromFileBtnClick(Sender: TObject);
begin
if SaveDialog1.Execute then
begin
ListTask.Items.LoadFromFile(SaveDialog1.FileName);
end;
end;
procedure TForm1.CloseBtnClick(Sender: TObject);
begin
ShowMessage('The application is now shutdown!');
Close();
end;
// save to a file
procedure TForm1.SaveTaskOnFile(Sender: TObject);
begin
if (ListTask.Items.Count = 0) or (ListTask.Items[0] <> 'Your tasks will appear here...') then
begin
if SaveDialog1.Execute then
begin
ShowMessage('Your file is save at: ' + SaveDialog1.FileName);
ListTask.Items.SaveToFile(SaveDialog1.FileName);
ListTask.Items.Clear;
ShowMessage('The file has been saved');
ListTask.Items.Add('Your tasks will appear here...');
end
else
begin
ShowMessage('Your file is not saved.');
end;
end
else
begin
ShowMessage('Cannot save an empty list');
end;
end;
end.

r/delphi • • Nov 20 '24

Loving Delphi!

33 Upvotes

Been going through the learning material and am loving the language. Took some getting use to initially, but it's becoming second nature now.


r/delphi • • Sep 01 '26

Brasil Embarcadero Conference 2026

Post image
32 Upvotes

r/delphi • • Feb 20 '26

31 years of Delphi, tomorrow

Thumbnail blog.marcocantu.com
32 Upvotes

r/delphi • • Nov 14 '22

True story ..

Post image
32 Upvotes