Nullbasierte Strings (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

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


Typ

Option

Syntax

{$ZEROBASEDSTRINGS ON} oder {$ZEROBASEDSTRINGS OFF}

Vorgabe

{$ZEROBASEDSTRINGS ON} für mobile Delphi-Compiler
{$ZEROBASEDSTRINGS OFF} für Delphi-Desktop-Compiler

Bereich

Lokal


Bemerkungen

{$ZEROBASEDSTRINGS} steuert die Indizierung, die lokal für String-Typen verwendet wird:

  • {$ZEROBASEDSTRINGS OFF} ist die Vorgabe für die Delphi-Desktop-Compiler (DCC32, DCC64, DCCOSX, DCCLINUX64), die die 1-basierte Indizierung für Strings verwenden.
  • {$ZEROBASEDSTRINGS ON} ist die Vorgabe für die mobilen Delphi-Compiler (DCCIOSARM, DCCIOS32), die die 0-basierte Indizierung für Strings verwenden.
Achtung: Mit {$ZEROBASEDSTRINGS} können Sie das String-Indizierungsschema lokal ändern. In einer Delphi-Anwendung für mobile Plattformen können Sie beispielsweise zum Ändern der 1-basierten String-Indizierung {$ZEROBASEDSTRINGS OFF} definieren.
{$ZEROBASEDSTRINGS} ist zum Beispiel für eine isolierte Instanz einer internen String-Bearbeitung hilfreich, die Sie momentan nicht ändern können.
Die mobilen Compiler und die RTL für Delphi-Mobile verwenden aber standardmäßig 0-basierte Strings, deshalb müssen Sie auch 0-basierte Strings in Delphi-Anwendungen für mobile Plattformen verwenden, die auf die RTL zugreifen.
Definieren Sie {$ZEROBASEDSTRINGS} nur in kleinen Codeabschnitten. Für ein gesamtes mobiles Modul oder eine Anwendung für mobile Plattformen wären die Ergebnisse nicht vorhersehbar.

Siehe auch