E2157 Elément 0 inaccessible - utilisez 'Length' ou 'SetLength' (Delphi)

De RAD Studio
Aller à : navigation, rechercher

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

Le type String de Delphi ne stocke pas la longueur de la chaîne dans l'élément 0. L'ancienne méthode de modification, ou de récupération de la longueur d'une chaîne, en accédant à l'élément 0 ne fonctionne pas avec les chaînes longues.


program Produce;

  var
    str : String;
    len : Integer;

begin
  str := 'Kojo no tsuki';
  len := str[0];
end.

Le programme essaie ici d'obtenir la longueur de la chaîne en accédant directement au premier élément. Ceci n'est pas correct.


program Solve;

  var
    str : String;
    len : Integer;

begin
  str := 'Kojo no tsuki';
  len := Length(str);
end.

Vous pouvez utiliser les procédures standard SetLength et Length pour offrir la même fonctionnalité comme l'accès direct au premier élément de la chaîne. Si les informations sont activées, vous recevrez un avertissement sur la valeur de 'len' non utilisée.