Even though there are a few tools for porting a project from the VCL (Visual Component Library) to FMX (FireMonkey) the process is not easy especially because not all VCL components have direct FMX equivalents. Some components require substitution, and some functionality must be reimplemented. The problem deepens with 3rd party VCL components.
Tools for semi-automated conversion
MidaConverter
MidaConverter is a non-freeware tool for converting VCL forms and components into FMX equivalents.
Basic features
- Direct replacements: E.g., `TPageControl` → `TTabControl`.
- Property mapping: E.g., `TLabel.Caption` → `TLabel.Text`.
It can also convert third-party components like TMS TAdvGlowButton and TAdvSmoothButton
Compared with the other freeware tools it definitively seems better. It goes the extra mile to do a better conversion as it offers:
StyleBook Integration
- VCL components like `TLabel` store style information (font, color) individually.
- FMX consolidates styles into a `StyleBook`.
- Mida automates the transfer of VCL style data into FMX `StyleBook`, eliminating the need for manual adjustments.
LiveBindings Support
FMX relies on LiveBindings for database interaction instead of data-aware components like `TDBEdit`.
Mida generates LiveBindings links automatically, saving time for applications with extensive database components.
Mida Pack Visual Components
FMX lacks support for button images (e.g., `TBitBtn`).
Mida provides custom FMX components (TImageButton, TImageSpeedButton) to replicate the missing VCL components.
The price
There are three or four versions of the product: Basic (?€), Pro (120€ +VAT), Studio (240€ +VAT), Studio Plus (400€ +VAT) but it is not very clear which does what.
If you try to place an order you get a “Product does not exist!” error.
Before purchasing
The website seems deprecated/abandoned and it was not even updated to https.
A trial version cannot be downloaded for testing (which is a big no-go). One the Delphi Praxis forum customers complained that the product does not work and the customer support is totally unresponsive.
ADUG VCL to FMX Converter
The ADUG VCLtoFMXConv is another open-source utility. The tool is quite rudimentary. It can do the following:
- Convert DFM forms to FMX forms
- Adjust event handlers.
- Generate logs for components that require manual intervention.
It compiles on Delphi 11.3 but only after some modifications. The code is 9 years old.
VCL2FMX
It is a fork of Innova. It is 3 years newer than Innova and has more features.
It seems to do a (bit) better job than the previous one. The program is in Spanish but you will figure it out since there are not so many buttons (abrir means open 😊):
AI
Since we are in 2025, a new solution came up: AI bots. I tested two of them with mixed results. Let’s see the conclusions.
Conclusions
Microsoft’s Copilot
Copilot did a totally crappy job. The resulted file was almost 100% identical with the original on. It failed to do even the most basic conversions (Left/Top).
Left – original form. Right – after conversion with Copilot.
ChatGPT
ChatGPT did a decent conversion but lost many of properties like Anchors or even Width. On the other hand, it did a better job by correctly replacing TPageControl (VCL) with TTabControl (FMX).
Innova & Fmx2VCL
They did similar job. In some cases Vcl2FMX (right) was a bit overzealous and replaced the Left/Top properties even if not necessary. But so did Innova in other cases. So, I think they are similar, but Vcl2FMX has a more polished GUI.
My try
Since the programs were better than AI, I decided to bring the Innova converter up to date. See my git repository: https://github.com/GabrielOnDelphi/Light_VCL2FMX
This is the major update! It has:
- True unicode support!
- Fixed bugs
- Smaller code