W1037 La variable de boucle FOR '%s' peut être indéfinie après la boucle (Delphi)
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.