Conversion of Delphi to C#

Please don’t allow this to degrade to a comparison of Delphi and C#. The customer can’t get Delphi programmers, so they want to convert to C#.
Our application is client / server with database connections via DbExpress by both applications, no data aware controls.
So, has anyone converted ~2million lines of their code to a C# application?
Any suggestions on conversion tools, approaches, expectations would be greatly appreciated.

I have converted thousands of lines to C++ from Delphi, using automated techniques. In general I wouldn’t recommend it as it costs heaps, with no real gain. ie it is all overhead.I have a collection of tools for the purpose and there is one whose name escapes me that was open source , and a russian programmer has done an update and is selling it as a closed source option, also there is Delphi2CS which I haven’t used. I would recommend trying to find programmers in Delphi, there is no lack of them, maybe you have been looking in alll the wrong places, as the song goes.


I’ve worked on a few projects to migrate from one technology to another without any major change to design or functionality. They are always expensive and take much longer than planned (but that applies to most projects :laughing:). If successful, the client spends a lot of money to go sideways. If not, the clients spends a lot of money.

Often it’s more cost effective to create a new solution, building upon the designs, lessons and short comings of the original. It may also be time to consider other, newer technologies, web, cloud, NOSQL, encryption, micro services, AI/ML, etc

Thanks @sarason; you’ve confirmed my suspicions.

If I may add my point of view, Delphi/UniGUI/Sencha is the way to go.

I have ported (it’s a perfect opportunity to modernise/improve the code) many of my older legacy projects over to the web and I am very happy with the results.

Thanks @StephenCorbett.
I have considered the re-write option as an opportunity too. I believe it has a lot of merit.

Thanks @andyhill. I’ll look at that as an option to propose to the team.