Chaînes longues (Object Pascal)

De Appmethod Topics
Aller à : navigation, rechercher

Remonter à Liste des directives de compilation Object Pascal - Index


Type

Commutateur

Syntaxe

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

Par défaut

{$H+} {$LONGSTRINGS ON}

Portée

Locale



Remarques

La directive $H contrôle la signification du mot réservé string utilisé seul dans une déclaration de type. Le type générique string peut représenter soit une chaîne longue allouée dynamiquement (de type fondamental UnicodeString), soit une chaîne courte allouée statiquement (de type fondamental ShortString).

Dans l'état par défaut {$H+}, Object Pascal définit le type chaîne générique par un UnicodeString long. Tous les composants des bibliothèques de composants sont compilés dans cet état. Si vous écrivez des composants, ils doivent aussi utiliser des chaînes longues comme doit le faire tout code recevant des données issues des propriétés de type chaîne de la bibliothèque de composants.

L'état {$H-} est surtout pratique pour utiliser du code des versions précédentes de Object Pascal qui utilisaient par défaut les chaînes courtes. Vous pouvez localement redéfinir la signification des définitions des types chaîne pour assurer la génération de chaînes courtes. Vous pouvez aussi changer les déclarations des types chaîne courte en string[255] ou ShortString, qui sont dépourvues d'ambiguïtés et indépendantes du paramètre $H.

Remarque : La directive LONGSTRINGS est obsolète et est ignorée par le compilateur. Les compilateurs Object Pascal en cours utilisent un type chaîne longue basé sur les caractères Unicode (UnicodeString). Il est recommandé d'utiliser le type chaîne par défaut (UnicodeString). Si vous voulez utiliser l'ancien type chaîne, utilisez explicitement les types ShortString et string[<nombre>] où c'est nécessaire.

Voir aussi