Nullbasierte Strings (Delphi)
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 |
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.
- 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.