Introduction
Installation
Registration
How to start
User interface
Windows
Log panel
User options
Window positions
Customization
Translation options
Input options
Search paths
Paths to the source files
Paths to the VCL\RTL
Special VCL headers
Unit scope names
Extended "System.pas"
SetString
Memory management
Inc and Dec
Definitions
Windows.pas
Processor options
Unification of CPP-sections
Stop om message directive
Substitution options
List of identifiers
Fixed identifiers
Substitutions in the preprocessor
Substitutions of the translator
Prefixes for properties
Type options
String types
Meta capabilities
Type-map
Namespace options
Suppressed namespaces
Tuning options
Special treatment of some VCL functions
Use stop-variable in for-loop
Treat typed constants as non-typed constants
Initialize Variables
Try to make const correct
Apply EXTERNALSYM directive
Apply NODEFINE directive
Make classes non-abstract
Write message-map as macro
Create additional 'this' parameter for class methods
Virtual class methods as static methods
Target options
Compiler
Precompiled header
pch.inc
Target platform
Output options
Verbose
Refactoring
Translation
Preprocessing
Conditional compilation
Unification of notations
Scanning dependencies
Writing the C++ code
File manager
Translation options
Selecting source files
Preview of the target files
Starting the translation
Results
Management
Use in command line mode
Parameter
What is translated
Tokens
Case sensitivity
Ampersand
Simple substitutions
String constants and single characters
Simple type identifiers
File layout
System Namespace
Uses clauses
Comments
Namespaces
extern variables
Indexes
ZEROBASEDSTRINGS
Types
Records, Classes, Interfaces
Record
Variant parts in records
Class
Ancestors
Constructors
Constructor of the base class
Constructor delegation
Initialization lists
Addition of missing constructors
Virtual constructors
Problems with constructors
Destructors
class methods
non virtual class methods
virtual class methods
Self instance
abstract methods
Visibility of class members
Creation of instances of classes
Interfaces
Multiple interfaces
Arrays
Static arrays
Dynamic arrays
Array indices
Initializing arrays
Array parameters
Open array parameters
Open array var parameters
Static array parameter
Dynamic array parameter
array of const
array of const for C++Builder
array of const for other compilers
array of const vs. set's
Returning arrays
Enumerated types
Ranges
Sets
Order of type definitions
Order of lookup
API Integration
BOOL
DWORD
PByte
THandle
Variables
threadvars
Resource strings
Operators
boolean vs. bitwise operators
operator precedence
is-operator
in-operator
Assignments
Explicit casts
void pointer casts
Special assignments
Routines
Procedures and functions
Parameter types
Adaption of parameters
Temporary variables
Calls of inherited procedures and functions
Nested routines
Nested routines with C++11
Nested routines with C++98
Special RTL/VCL-functions
I/O routines
Read(Ln)/Write(Ln) routines
Formatting parameters
RegisterComponents
Properties
Field properties
Indexed properties
Default array-property
Array property
Statements
for loop's
for-in loop
finally
with-statements
Initialization/Finalization
class-reference type
C++Builder __classid
Other compiler ClassRef
_CreatingClassInstance
Reading and Writing
Message handlers
Absolute address
Method pointers
Libraries
New features since Delphi 7
Unicode
Unit scope names
Operator Overloading
binary operators
unary operators
conversion operators
more operators
Class helpers
Class-like records
Nested classes
Anonymous Methods
Assignment to a method reference
Assignment to a method
Using anonymous methods
Variable binding
Use as events
Generics
Declaration
Nested types
Base types
Procedural types
Parameterized methods
What is partially translated
inline assembler
const-correctness
API parameter casts
What is not translated
Low level code
Unit tests
Format
TDictionary
TStringList
Pretranslated C++ code
Delphi RTL/VCL
C++ code for C++Builder
d2c_convert
d2c_openarray
d2c_sysexcept
d2c_sysfile
d2c_syshelper
d2c_sysiter
d2c_sysmath
d2c_sysstring
d2c_system
d2c_systypes
C++ code for other compilers
d2c_config
d2c_convert
d2c_openarray
d2c_smallstring
d2c_sysconst
d2c_syscurr
d2c_sysdate
d2c_sysfile
d2c_sysiter
d2c_sysmac
d2c_sysmarshal
d2c_sysmath
d2c_sysmem
d2c_sysmonitor
d2c_sysmeta
d2c_sysobject
d2c_sysstring
d2c_system
d2c_systypes
d2c_sysvariant
DelphiSets
OnLeavingScope
RTL core
System.h
Visual C++ configuration
Special Delphi units
Preparing Delphi code
Bugs in the Delphi RTL/VCL
Frequent re-translation
Comments (*#_ ... _#*)
Predefined identifier Cpp
Delphi directives to support C++Builder
$HPPEMIT
$EXTERNALSYM
$NODEFINE
$NOINCLUDE
Impact on notations
Delphi projects
Clang
dpr Files
dfm Files
Tool: MainFormExchange
Formatting
Delphi2Cpp II compared to Delphi2Cpp I
DelphiXE2Cpp11 versus Delphi2CB
TextTransformer
Service

© 2021 Dr. Detlef Meyer-Eltz