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 VCL/RTL
Paths to the source files
Unit scope names
Extended "System.pas"
Definitions
Windows.pas
Processor options
Unification of CSHARP-sections
Stop on message directive
Substitution options
List of identifiers
Substitutions in the preprocessor
Substitutions of the translator
Refactoring
Prefixes for properties
Type options
Type-map
Tuning options
Special treatment of some VCL functions
Use stop-variable in for-loop
Initialize Variables
Try to make const correct
Apply EXTERNALSYM directive
Apply NODEFINE directive
Output options
Verbose
Translation
Preprocessing
Conditional compilation
Unification of notations
Scanning dependencies
Writing the C++ code
File manager
Selecting source files
Translation options
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
File layout
Uses clauses
System Namespace
Comments
Types
Records, Classes, Interfaces
Record
Variant parts in records
Class
Ancestors
Constructors
Constructor of the base class
Initialization lists
Addition of missing constructors
Virtual constructors
Problems with constructors
Destructors
class methods
abstract methods
Visibility of class members
Creation of instances of classes
Interfaces
Arrays
Static arrays
Dynamic arrays
Array indices
Initializing arrays
Array parameters
Open array parameters
Static array parameter
Dynamic array parameter
array of const
Array of const vs. set
Enumerated types
Ranges
Sets
Order of lookup
Variables
threadvars
Resource strings
Operators
boolean vs. bitwise operators
operator precedence
in-operator
Assignments
Explicit casts
Routines
Procedures and functions
Declaration and definition
Parameter types
Temporary variables
Calls of inherited procedures and functions
Nested routines
Meta information
Special RTL/VCL-functions
I/O routines
Read(Ln)/Write(Ln) routines
Formatting parameters
Properties
Field properties
Indexed properties
Default array-property
Statements
for loop's
for-in loop
with-statements
finally
Initialization/Finalization
Reading and Writing
Method pointers
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
Paremeterized methods
What is partially translated
Pointers
IPointer
Pointer
Pointer<T>
PChar
inline assembler
const-correctness
What is not translated
class-reference type
PInvoke
DllImport
SetLastError
Common datatypes
Array size attribute
Adapter functions
Retrieve a string
API callback
Pretranslated C# code
Delphi RTL/VCL
DelphiSets.cs
System.cs
Preparing Delphi code
Bugs in the Delphi RTL/VCL
Frequent re-translation
Comments (*#_ ... _#*)
Predefined identifier CSHARP
Delphi directives to support C++Builder
$HPPEMIT
$EXTERNALSYM
$NODEFINE
$NOINCLUDE
Formatting
DelphiC# versus Delphi2Cpp
TextTransformer
Service

© 2019 Dr. Detlef Meyer-Eltz