Should I use Delphi for .NET?

Delphi for .NET provides the easiest path to move to .NET. However with the currently released versions of Delphi for .NET there are some important considerations.

Porting to Delphi for .NET

Delphi for .NET is highly source compatible with Delphi for Win32 code. Pointers and a few other practices must be eliminated, but warnings to detect such items have been available since Delphi 7. This allowed Delphi users to prepare their code while working directly on Win32 code, before porting the application.

How difficult is it? This is completely dependent on your code. If you use a lot of pointers and direct memory access, you could have a fair bit of work ahead of you. But since you can use the warnings in Delphi 7 and later, you can update these code sections one by one and have compilable running code throughout the whole process. This greatly simplifies the process. I was involved in the port of Indy and IntraWeb ports to Delphi for .NET. Because of their original code design, the biggest impact was rewriting code which formerly used strings for binary buffers.

Third Party Controls

Most Delphi developers use third party controls. If you are planning to migrate to Delphi for .NET, you need to determine if those third party controls are available for Delphi for .NET. Even if you have the source code, it is improbable that the source code will compile as is for Delphi for .NET. In fact most third party controls require significant changes and you should have an expectation that it is something you will do.

If the vendor has Delphi for .NET versions, you are in a good position. If not, you will need to evaluate your next step. Do you fix up the controls yourself? Can you find replacement controls? Can you eliminate the controls?

Delphi 2007

In September 2007 CodeGear released Highlander which supports .NET 2.0. If you want to easily port your code and remain on VCL, Delphi 2007 is a good choice.

Comparison

About the Author

Chad Z. Hower aka Kudzu was formerly the the Regional Developer Adviser (DPE) for Microsoft MEA (Middle East and Africa). Chad is the team leader of Delphi to .NET and a professional speaker for Woo Hoo. Chad has worked with dozens of migrations from Delphi to .NET involving many of Europe's largest ISV's. Chad is also the original author and architect of both Indy and IntraWeb, which have been an essential part of Delphi since Delphi 6. More about Chad




Copyright 2006-2007 Delphi to .NET