Dieser Artikel kann veraltet sein: Aktuelle Dokumentation online (Englisch)
Initialisierung von array's
In Delphi können array's sehr einfach initialisiert werden. Die Initialisierung eines array's aus TStyleRecord's:
TStyleRecord = record Name : string; Style : TFontStyles; end;
könnte z.B. folgendermaßen aussehen:
DefaultStyles : TStylesArray = ( (Name : 'tnone'; Style : []), (Name : 'tstring'; Style : []), (Name : 'tcomment'; Style : [fsItalic]) );
In den früheren Versionen von Delphi2Cpp wurde dies übersetzt als:
TStylesArray DefaultStyles = { { "tnone" /*Name*/, arrays__0 /*Style*/ }, { "tstring" /*Name*/, arrays__1 /*Style*/ }, { "tcomment" /*Name*/, arrays__2 /*Style*/ } };
Das Problem hierbei ist, dass Initialisierungen in dieser Form in C++ nur möglich sind, wenn es sich bei den Elementen um Grundtypen von C handelt. Eine Initialisierung von Elementen des Typs TFontStyle ist so nicht zulässig.
Ab Version 1.2.4 generiert Delphi2Cpp deshalb Initialisierungsfunktionen, die innerhalb der Initialisierungsroutine der entsprechenden Unit (s.o.) aufgerufen werden.
void DefaultStylesInit( ) { DefaultStyles[0].Name = "tnone"; DefaultStyles[0].Style = arrays__0; DefaultStyles[1].Name = "tstring"; DefaultStyles[1].Style = arrays__1; DefaultStyles[2].Name = "tcomment"; DefaultStyles[2].Style = arrays__2; }
english
Letzte Neuigkeiten |
28.10.24
Delphi2Cpp 2.5: in Groß- und Kleinschreibung mit Deklarationen übereinstimmende Symbolnamen [more...] |
08/26/24
Delphi2Cpp 2.4: Aktualisiert auf RAD Studio 12.1 Athen [more...] |
[aus Fallstudie...] "Eine Meisterleistung -- Delphi2Cpp hat alle meine Erwartungen weit übertroffen." Tony Hürlimann
virtual-optima
29.08.2011
|
"Ich muss mich nochmal für deinen Einsatz und die Qualität deiner Arbeit bedanken, das ist absolut überdurchschnittlich ..." Gerald Ebner
Significant Software
22.01.2010
|
Diese Homepage ist aus einfachen Texten mit [Minimal Website ]generiert.
|
Minimal Website ist mit Hilfe des TextTransformers hergestellt.
|
Der TextTransformer ist gemacht mit dem Borland
CBuilder
|