Do You Have 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 do it for free.
What I Will Do
I will modernize your Delphi project by addressing:
- Migrating AnsiStrings to UnicodeStrings.
- Eliminating unnecessary pointers and using safe alternatives.
- Replacing
TStringList
abuse with more efficient structures. - Removing
goto
statements and restructuring loops. - Reduce unnecessary timers
- Avoiding
Application.ProcessMessages
abuse. - Reducing reliance on global variables.
- Ensuring 64-bit compatibility.
- Adding FastMM to detect memory leaks.
- Implementing checks for buffer overflows, integer overflows, and memory overwrites.
- Code splitting (to reusable procedures)
- Code splitting (to libraries)
- Making the code more readable and maintainable.
If your code is really messy I could even do a FULL rewrite!
What I Won’t Do
- Database Upgrades: I will not migrate old database code, but if feasible, I can help transition to faster binary file storage.
- Multi-threading Overhauls: Most likely, I won’t rework existing multi-threaded code.
- Bug Hunting: Your code must be in a functional state (should run Delphi, even if and old Delphi); this experiment is about modernization, not debugging broken projects.
- Dead resurrection: I won’t upgrade code older than Delphi 2.
The Catch
This is an educational project aimed at helping older developers modernize their code. To keep it transparent and beneficial for the programming community, I will record the entire refactoring process and publish it online (YouTube and possibly other websites/platforms).
So, you must be prepared to make your project public. However, the ownership of the code remains entirely yours. You may attach a license that allows people to see your code while forbidding them from using it commercially.
If you prefer anonymity, I will replace your name with “Jimmy” in my videos. Just make sure your name or website doesn’t appear in the source code.
Disclaimer
This is voluntary work performed for educational purposes only.
- There is no contractual obligation between us.
- I do not guarantee specific results or deadlines.
- If your code does not meet my criteria, I reserve the right to reject it.
- You assume all responsibility for using my changes in your codebase.
Of course, you also have no obligations (to payment or to use my changes). You are free to merge all, some, or none of my changes into your project.
How to Participate
Send your project via email, along with a brief description of its functionality and the aspects you’d like modernized. By submitting your code, you confirm that you understand and accept the terms of this experiment.