W1068 La modification des chaînes in-situ peut ne pas être supportée à l'avenir (Delphi)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Messages d'erreur et d'avertissement (Delphi)


En tant qu'avertissement, ce message indique que vous modifiez une chaîne in-situ. Par exemple, l'opération commune suivante (indexation dans une chaîne et modification de la chaîne) ne peut pas être effectuée avec des chaînes immuables :

 S[1] := 'A';

Si vous utilisez une opération chaîne de ce genre, les compilateurs mobiles Delphi émettent l'avertissement 'W1068 : La modification des chaînes in-situ peut ne pas être supportée à l'avenir.'

Vous devez savoir que cette pratique assez commune risque de ne pas être supportée dans le futur suite à des modifications de langage relatives aux compilateurs de bureau Delphi. Il est probable que cet avertissement sera remplacé par une erreur.

Les chaînes immuables (c'est-à-dire les chaînes ne pouvant pas être indexées ni modifiées) sont supportées par les compilateurs mobiles Delphi ; DCCIOSARM et DCCIOS32 supportent uniquement les chaînes immuables, à base zéro.

Pour manipuler des chaînes, utilisez les fonctions TStringHelper.
Pour modifier une chaîne in-situ, utilisez TStringBuilder.

Pour tester les chaînes immuables, effectuez l'une des opérations suivantes :

  • Définissez la directive du compilateur {$WARN IMMUTABLE_STRINGS <ON|ERROR>}.
    • ON active l'affichage de l'avertissement W1068 à chaque fois que votre code modifie des chaînes in-situ.
    • ERROR active ce message, E1068, en tant qu'erreur.
  • Sur la page Conseils et avertissements, définissez l'avertissement "La modification des chaînes in-situ...." sur "True" ou "Erreur".

Voir aussi