| 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