Lange Strings (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Liste der Delphi-Compiler-Direktiven - Index


Typ

Option

Syntax

{$H+} oder {$H-} {$LONGSTRINGS ON} oder {$LONGSTRINGS OFF}

Vorgabe

{$H+} {$LONGSTRINGS ON}

Bereich

Lokal



Anmerkungen

Die Direktive $H legt fest, welche Bedeutung das reservierte Wort string hat, wenn es ohne Zusatz in einer Typdeklaration steht. Der generische Typ string kann entweder einen langen, dynamisch zugewiesenen String (den fundamentalen Typ UnicodeString) oder einen kurzen, statisch zugewiesenen String (den fundamentalen Typ ShortString) darstellen.

Durch die Standardeinstellung ({$H+}) wird der generische String-Typ als langer UnicodeString definiert. Alle Objekte in der Komponentenbibliothek werden in diesem Status compiliert. Für neue Komponenten sollten ebenfalls lange Strings verwendet werden. Dasselbe gilt für Quelltext, der Daten aus String-Eigenschaften der Komponentenbibliothek übernimmt.

Der Status {$H-} ist sinnvoll, wenn auf Quelltext aus älteren Versionen von Delphi zugegriffen wird, in dem standardmäßig kurze Strings verwendet werden. Die Bedeutung von String-Typdefinitionen kann lokal überschrieben werden, um die Erzeugung kurzer Strings sicherzustellen. Außerdem können kurze String-Typen als string[255] oder ShortString deklariert werden. Diese Typen sind eindeutig und von der Direktive $H unabhängig.

Hinweis: Die Direktive LONGSTRINGS ist veraltet und wird vom Compiler ignoriert. Aktuelle Delphi-Compiler verwenden einen langen String-Typ, der auf Unicode-Zeichen (UnicodeString) basiert. Es wird die Verwendung des Standard-String-Typs (UnicodeString) empfohlen. Verwenden Sie für den älteren String-Typ explizit die Typen ShortString oder string[<Anzahl>].

Siehe auch