# Units, classes and functions - DE Decompiler

> Professional decompiler for VCL applications written in Delphi or built with C++Builder. Analyze Win32/Win64 code, forms, units and classes for reverse engineering, forensics and code recovery.

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

## Units, classes and functions

Recovered declarations provide a starting point for examining the structure of supported VCL applications written in Delphi or built with C++Builder.

### Unit declarations

Select a unit under **Code** to view its reconstructed declaration listing. Use the unit name, available references, declared classes and visible members to establish which part of the application you are examining.

![Recovered unit and class declarations for a Delphi application.](https://www.de-decompiler.com/image/help/de_decompiler_unit_declaration_overview.png)
Recovered unit and class declarations for a Delphi application.

An excerpt from the recovered class declaration:

```
type
  TfrmMain = class(TForm)
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    PageControl1: TsPageControl;
```

### Classes and methods

Expand a recognized class and select a method or function. Read the signature and body together: a plausible body does not by itself confirm an inferred parameter type or class-field interpretation.

### Public and private functions

Recognized public functions and methods appear in the recovered structure. The decompiler also attempts to locate private functions in each unit. Private discovery is heuristic; investigate unexpected boundaries, missing arguments, or inconsistent unit associations using disassembly.

Compiler-generated anonymous-method frames are hidden from the normal tree. Search results, address jumps and history can reveal a required frame. **Show VCL classes** provides the complete class view. Opening a unit or class declaration does not require decoding all its methods.

### Names and analyst annotations

Distinguish names preserved in the binary from generated identifiers and names assigned during analysis. A reconstructed or analyst-assigned name may help explain a procedure, but it does not prove that this was the original source identifier.
