Special VCL headers

Top  Previous  Next

User interface > Translation options > Include paths > Special VCL headers


Delphi2Cpp tries to parse System.pas always in addition to the other included files. System.pas contains the declaration of TObject and many other frequently used functions, procedures, records and classes.There are some workarounds in Delphi2Cpp to parse more recent versions of System.pas, which uses features, which don't exist in Delphi 4/5, but not all versions of System.pas were available for tests.

If System.pas cannot be found in the specified include paths, a part of the content of this file is simulated.

In the professional version of Delphi2Cpp 1.4.0 and later you can include your own extended System.pas.


In old versions of Turbo Pascal / Delphi the units WinProcs and WinTypes were used. In Delphi, these two units were merged into the single unit Windows. If these files are not found Delphi2Cpp substitutes WinProcs and WinTypes by Windows, so that "# include <Windows.hpp>" will appear in the translated code. In addition, this file is interpreted a little differently in a C-like manner than the other pas files: structures are passed here as parameter to a function by the address of the structure and not as reference as in the other files.


foo(&StructureType) instead of foo(StructureType)


The unit BDE is used in database units, but there is no BDE.pas. The Delphi compiler doesn't need this file because there is a BDE.dcu . The interface is declared in the file BDE.int instead.Delphi2Cpp also will look for BDE.int in the include paths. The folder for this file has to be set there, e.g. CBuilder6/Doc.


The file dsgnintf.pas is called designintf.pas in the C++Builder VCL.


The namespace Windows is omitted at the translation since the corresponding functions mostly don't exist there in the CBuilder counterpart. (Also "System." in front of the Move function is left out.)


The file ShellApi.pas is treated in the same C-like manner as Window.pas.    


Like it was mentioned for System.pas above Delphi2Cpp also cannot really parse the file SyncObjs.pas in more recent versions of the VCL. There are workarounds in Delphi2Cpp to parse the version of the BDS 2006.


If you have difficulties with your VCL, please contact the author.

This page belongs to the Delphi2Cpp Documentation

Delphi2Cpp home  Content