W1014: Constante chaîne tronquée pour tenir dans STRING[%ld] (Delphi)
De RAD Studio (Français)
Remonter à Messages d'erreur et d'avertissement (Delphi) - Index
Une constante chaîne est affectée à une variable qui n'est pas assez grande pour contenir la chaîne entière. Le compilateur vous alerte sur le fait qu'il tronque le littéral pour pouvoir rentrer dans la variable. -W
program Produce;
(*$WARNINGS ON*)
const
Title = 'Super Galactic Invaders with Turbo Gungla Sticks';
Subtitle = 'Copyright (c) 2002 par Frank Borland';
type
TitleString = String[25];
SubtitleString = String[18];
var
ProgramTitle : TitleString;
ProgramSubtitle : SubtitleString;
begin
ProgramTitle := Title;
ProgramSubtitle := Subtitle;
end.
Les deux constantes chaîne sont affectées aux variable qui sont trop courtes pour contenir la chaîne entière. Le compilateur tronquera les chaînes et effectuera l'affectation.
program Solve;
(*$WARNINGS ON*)
const
Title = 'Super Galactic Invaders with Turbo Gungla Sticks';
Subtitle = 'Copyright (c) 2002';
type
TitleString = String[55];
SubtitleString = String[18];
var
ProgramTitle : TitleString;
ProgramSubtitle : SubtitleString;
begin
ProgramTitle := Title;
ProgramSubtitle := Subtitle;
end.
Deux solutions existent pour ce problème, qui figurent toutes les deux dans cet exemple. La première solution est d'augmenter la taille de la variable pour gérer la chaîne. La deuxième est de réduire la taille de la chaîne pour qu'elle rentre dans la taille déclarée de la variable.