Open-source Delphi migration utility

Modernize Delphi VCL applications by converting them to FireMonkey.

VCL2FMXConverter handles much of the repetitive work in a VCL-to-FMX migration—Pascal and DFM analysis, forms, components, properties, events, and project structure—then clearly reports the items that still need a developer's judgment.

Field-test update: Thanks to user feedback, VCL2FMXConverter v5.0 has been patched with four converter regression fixes. The contract suite now includes 198 separate validation checks to help keep those fixes protected.

Version 5.0 Vanguard

A focused workspace for scanning, mapping, converting, and reviewing.

The tabbed interface keeps the source project, conversion rules, live output, and component maps visible without hiding the converter's decisions.

VCL2FMXConverter v5.0 Vanguard Project Scan screen
The Project Scan workspace keeps the original source untouched and sends converted FMX output to a separate folder.

What the converter does

Automate the routine work. Keep the important decisions visible.

The converter produces an editable FMX-oriented project and an honest report—not a black-box promise of one-click conversion.

Forms and components

Converts many standard VCL controls to FMX equivalents and preserves layout information where practical.

Properties and events

Maps common VCL properties and event names when the translation is safe and meaningful.

Reports and review

Highlights unsupported APIs, Windows-specific code, third-party controls, conversion risks, and work that needs manual review.

Executable contracts

Uses 198 focused expectations to guard generated code, report behavior, project integration, and known conversion boundaries.

A practical workflow

From original VCL source to a reviewable FMX project

Select the source project

Point the converter at a Delphi VCL project. The original project remains the source of truth.

Convert to a separate folder

The converter analyzes Pascal and DFM files, applies supported mappings, and generates FMX-oriented output.

Compile, review, and test

Open the generated project in Delphi, work through the report, and validate real application behavior.

Third-party component support

Mapping packs make the rules transparent.

Optional JSON mapping packs can convert simple components, partially convert controls with warnings, detect complex controls, or preserve selected references. Developers can adjust packs without forcing unsafe assumptions into the converter core.

  • DevExpress
  • FastReport
  • FireDAC
  • JVCL
  • ReportBuilder
  • Skia4Delphi
  • TeeChart
  • TMS
  • VirtualTreeView
  • and more

Repeatable engineering safeguards

Contracts turn known conversion problems into tests that must keep passing.

Each contract is a small Delphi test case plus an expected JSON result. Together they describe the generated Pascal, FMX, project, and report behavior that the converter must produce—or must deliberately avoid. Contracts are engineering safeguards, not files that normal conversions compare against at runtime.

  • Pascal structure
  • DFM and FMX forms
  • Project generation
  • Uses clauses
  • Windows messages
  • Data-aware controls
  • Graphics
  • LiveBindings
  • Reporting

Know the boundaries

FMX is a different framework, so developer review still matters.

Generated output is a migration starting point. Compiling, testing, UI inspection, and programmer review remain essential.

  • Supported Delphi baseline: v5.0 is intended for modern Delphi/RAD Studio projects with FireMonkey support, specifically Delphi 12 or later. Very old source such as Delphi 3 may require manual modernization before the converter can be useful.
  • No direct FMX equivalent: some VCL and third-party controls must be replaced or redesigned.
  • Windows-specific code: handles, messages, GDI, and Windows API calls may need manual work.
  • Custom drawing: owner-draw and VCL canvas logic do not map directly to FMX rendering.
  • Behavior and layout: focus, scaling, keyboard handling, painting, and platform behavior can differ.

Contact and feedback

Found an issue or a conversion edge case?

Include the converter version, Delphi version, a short project description, and the generated HTML report when possible.

Email churchesite@gmail.com