W1037 La variable de boucle FOR '%s' peut être indéfinie après la boucle (Delphi)

De RAD Studio
Aller à : navigation, rechercher

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

Cet avertissement est émis si la valeur de la variable de contrôle d'une boucle for est utilisée après la boucle.

Vous ne pouvez compter que sur la valeur finale d'une variable de contrôle de boucle for si la boucle est quittée avec une instruction goto ou exit.

Le but de cette restriction est de permettre au compilateur de générer du code efficace pour la boucle for.

program Produce;
(*$WARNINGS ON*)
 
function Test1: Integer;
var
  I: Byte;
begin
  Result := 0;
  for I := 0 to 255 do
    Inc(Result);
  WriteLn(I); // undefined
end;
 
begin
  Test1;
end.

Dans l'exemple, la variable de contrôle est utilisée implicitement après la boucle, car elle peut être indéfinie - d'où l'avertissement.