E2198 %s ne peut être appliqué à une chaîne longue (Delphi)

De RAD Studio
Aller à : navigation, rechercher

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

La fonction standard HIGH ne peut pas être utilisée avec des chaînes longues. La fonction standard HIGH peut, par contre, être appliquée aux chaînes courtes de l'ancien style.

Puisque les chaînes longues se dimensionnent automatiquement, il n'y a pas d'analogue à la fonction HIGH.

Cette erreur peut être provoquée si vous portez une application 16 bits, auquel cas, le seul type chaîne disponible est une chaîne courte. Si c'est le cas, vous pouvez alors désactiver les chaînes longues avec le commutateur de la ligne de commande $H ou la directive de format long $LONGSTRINGS.

Si HIGH a été appliqué à un paramètre chaîne, mais que vous voulez toujours utiliser des chaînes longues, vous pouvez simplement changer le type de paramètre en 'openstring'.


program Produce;
  var
    i: Integer;
    s: String;

begin
  s := 'Salut, développeurs de la terre';
  i := HIGH(s);
end.

Dans l'exemple ci-dessus, le programmeur a essayé d'appliquer la fonction standard HIGH à une variable chaîne longue. Ceci ne peut pas être fait.


(*$LONGSTRINGS OFF*)
program Solve;
  var
    i: Integer;
    s: String;

begin
  s := 'Salut, développeurs de la terre';
  i := HIGH(s);
end.

En désactivant les paramètres chaîne longue, l'application de HIGH à une variable chaîne est maintenant autorisée.