# Compiler compatibility and RTTI | DE Decompiler manual

> Analyze Win32/Win64 VCL applications written in Delphi 3–13 or built with C++Builder. Understand compiler identification, RTTI coverage and C++Builder code-recovery limits.

Canonical HTML: <https://www.de-decompiler.com/help/compatibility.htm>

## Compiler compatibility and RTTI

DE Decompiler natively recognizes Delphi compiler versions 3 through 13 and supports VCL applications built with C++Builder for Win32 and Win64.

### Compiler versions and recovered types

Delphi releases differ in executable structures and RTTI formats. Version-specific type knowledge lets DE Decompiler interpret these differences. Recognizing the compiler generation does not guarantee identical reconstruction quality for every type, library or procedure.

Check a recognized class against its declarations, form properties, and method code. If a name, field type, signature, or layout appears inconsistent, use native instructions and file bytes to investigate before relying on the high-level representation.

### Compiler identification and signature databases

C++Builder and Free Pascal inputs are now identified separately from Delphi. Compiler identification remains independent of the compatible signature database, including after loading a saved project. Long compiler names and version ranges fit the main-window label; full details remain available in its tooltip.

The compiler label identifies the input independently of the signature database selected for code analysis. If the available evidence cannot distinguish compiler versions, the label retains that ambiguity.

In the commercial editions, DE Decompiler selects a matching database from the `de` directory: an exact compiler version first, then the nearest newer version, then the nearest older version of the same bitness. The files follow the `vcl<version>.bin` and `vcl<version> x64.bin` naming patterns.

An asterisk (`*`) marks a substituted database or a database match that could not be established with confidence. Hover over the compiler label to see the selected BIN filename. The marker describes the database match; it does not by itself mean that the input cannot be analyzed. Signature databases are a commercial-edition feature.

### Applications built with C++Builder

DE Decompiler supports VCL applications built with C++Builder for Win32 and Win64. Recover and visualize forms, examine units, classes and functions, follow event handlers and use the other analysis and export tools in the same workspace.

C++Builder-specific library RTTI knowledge bases are not yet available. Functions outside the shared VCL coverage, and object properties or methods that cannot be identified, may be shown without their library names. Code decompilation quality for C++Builder is therefore noticeably lower than for applications written in Delphi. This limitation concerns code-reconstruction quality and library-name recognition. The other supported features remain available for C++Builder under the same edition rules as for applications written in Delphi.

C++Builder code is reconstructed as Delphi-like Pascal, with PAS/DFM output. It is not converted back into the original C++ source. As with other native-code reconstruction, review and correct inferred types, generated names and decompilation inaccuracies manually before using the recovered material in an IDE.

### Private functions

The decompiler attempts to identify private functions within each unit heuristically. Such discovery helps expose code beyond recognized public entry points, but it does not establish that every function boundary or unit association has been recovered.

### VCL scope

The visual form workflow applies to VCL forms and controls recovered from Win32 and Win64 input files.

### Reporting a compatibility issue

DE Decompiler is continually developed, and decompilation quality improves as compiler support, type recognition and code reconstruction are refined.

If you would like to report a specific issue, send the binary file that reproduces the problem and identify the form or function where it occurs. Include its name and, for a function, its address when available, together with the DE Decompiler build and a description of the error. See [Technical support](https://www.de-decompiler.com/help/support.htm) for contact details.
