This webinar focused on these three areas for migrating legacy Delphi to the current Delphi version:
* Migrating 3rd Party Components / Libraries
* Migrating Unicode
* Migrations of Database and Middleware
In this webinar, we looked at and learn how to:
* Use the new Getit Package Manager to allow you to browse, download, purchase, and install GetIt packages into the current Delphi version.
* Use the Tech Partner Directory to find 3rd party libraries.
* Use the Unicode Statistics Tool, to estimate time and effort for the Unicode migration
* Modify non-Unicode code to Unicode for Delphi char, Read, String, Pointer, Length, MultiByteToWideChar, etc.
* Migrate the Borland Database Engine (BDE) to FireDAC for SQL databases.
* Move from MIDAS to DataSnap
* Convert Your VCL to FireMonkey using Mida –VCL to FireMonkey Convertor
Benefits gained by migrating to current 10.1 Berlin version:
- more sales,
- new features in your application,
- new platforms,
- new markets and more happy users.
10.1 Berlin gives you Business benefits:
- Greater Reach for your Applications – The reach allows you to reach more users, more platforms.
- International audiences with Unicode.
- More platforms with OS X, iOS and Android.
- Reach more memory on Windows with 64-bits support.
- Reach more cores with the parallel programming library.
Let me first mention Embarcadero has created a new Migration and Upgrade Center Web page. This Upgrade and Migration Center is here to help you navigate your migration from older editions to the newer current editions.
We really want to know how you are doing with your legacy Delphi and C++ Builder migrations, so please try using the “Talk to Migration Specialist today” button, that will get you in contact with an Embarcadero resource to help with your migration and help answer any migration questions J
The web page focuses on these 4 main areas of Migration; Unicode, Migrating to 64bit, Migrations of Database and Middleware, and Migrating 3rd Party Components / Libraries, with each section providing tools and resources to help with your legacy code migration.
Migrating 3rd Party Components / Libraries
- · common open source libraries
- · Free 3rd Party Libraries
- · Add-in frameworks, like JEDI, etc.
- · TurboPower libraries
- · Quick and Easy install and uninstall
- · New libraries frequently added.
- String maps UnicodeString, no longer AnsiString
- Char now maps WideChar (2 bytes, not 1 byte) being a UTF-16 character
- PChar maps PWideChar
- AnsiString maps the old String type
- AnsiChar, PAnsiChar
- Short String contains AnsiChar elements
- Implicit conversions still work.
- The user’s active code page controls the mode (ANSI vs. Unicode), so that ANSI strings are still supported.
- String concatenation
- Standard String functions. E.g., Length, Copy, Pos, and so on.
- Operators. E.g., , CompareStr(), CompareText(), etc.
- FillChar ( )
- Windows API
- Assume Sizeof (Char) is 1.
- Assume the size of a string equals the number of bytes in the string.
- Handle String or PChars directly.
- Saves or reads a string from/to a file.
Migrating Data Access (FireDAC)
If your application connects to a database or works with data, then you really need to look at FireDAC. FireDAC is a fantastic data access framework that supports a large variety of databases and has incredible in-memory features as well. It is based on the model that the BDE established, but much more robust and lightweight.
Move from MIDAS (DCOM) to DataSnap
DataSnap (previously known as MIDAS) is a DCOM-based software technology that enables RAD creation of multi-tier database applications. DataSnap components approach allows Embarcadero software development tools such as Delphi or C++Builder to create data broker/client applications with TCP/IP, DCOM, HTTP or even SOAP transport protocols. The TCP and HTTP transport are implemented using respectively a server side service and an ISAPI dll that act as proxies for the DCOM server.
The first release (then known as MIDAS) appeared in Delphi version 3. The name was changed to DataSnap in version 6.
For those of you looking to convert old Midas remote provider based applications to the new DataSnap Rest remote dataset based approach, this may be one of the hardest functionalities to convert/migrate in old Delphi/C++Builder applications.” But David I has a blog post with these four resources that will help you migrate your legacy DCOM based DataSnap servers all the way up to the new Delphi 10.1 Berlin:
Migrating Legacy DCOM based Datasnap Servers
Bob Swart’s “Delphi 2009 Development Essentials book”DataSnap chapter by Dan Miser covers the topic “Reusing Existing [DataSnap] Remote Data Modules
Migrating Delphi DCOM DataSnap Projects to Delphi 2009 DataSnap – Jon Robertson – jmrSoftware
- DataSnap 2009 Overview – By Steven Shaughnessy
CodeRage Webinar videos and white papers also exist to help you to move from Midas (DCOM) to Datasnap.
Mida – Convert VCL to FireMonkey
When you have the need to target multi-device platforms (Win32, Win64, Mac OS X, iOS and Android), you will be able to leverage your existing VCL Windows Applications, and create multi-device, true native apps.
The Mida –VCL to FireMonkey Convertor tool will help you to convert your VCL apps to FM apps. The Mida Converter is a third-party IDE extension that automates some aspects of migrating VCL applications to FireMonkey.
The Mida Converter is an application that can take your existing Delphi VCL apps which have legacy code in them and convert the code and the VCL so that it becomes a Firemonkey app.
You can configure the Mida tool to change properties like .caption to .text. It will even convert TImage components and their contents from VCL to Firemonkey.
Might be nice to have the Mida Converter in your tool chest even if you don’t have any legacy code you could use it convert VCL demos, code snippets, and maybe even components to work in Firemonkey for you.
You can look at the Mida Converter Home Page and try it out for yourself.
You can migrate VCL applications to FireMonkey either manually or using the third-party Mida Converter IDE extension.
Migrating VCL Applications to FireMonkey Manually
Although there is no direct migration path between the VCL and FireMonkey, you can:
This method is essentially refactoring your VCL application so that it becomes a FireMonkey application. See Commonly Encountered Differences Between the VCL and FireMonkeyfor a list of issues that you might find during the conversion.
Mida 5.5 supports Delphi 10.1 Berlin and C++Builder 10.1 Berlin
Here are a list of additional resources, papers and videos to help migrate your legacy Delphi and C++ Builder applications to the current 10.1 Berlin version.
Most, if not all of them you can get from the main new Migration and Upgrade Center Web Site.
Here we have the resources grouped by the main focus areas of this webinar; Unicode, Migrations of Database and Middleware and Migrating 3rd party Components and Libraries.
Migrations of Database and Middleware
Migrating 3rd Party Components / Libraries