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