W1014 Stringkonstante abgeschnitten damit sie in STRING[%ld] passt (Delphi)
Nach oben zu Fehler- und Warnungsmeldungen (Delphi)
Eine Stringkonstante wird einer Variablen zugewiesen, die nicht groß genug ist, um den gesamten String aufnehmen zu können. Der Compiler gibt eine Warnung aus, dass das Literal entsprechend der Variablengröße abgeschnitten wurde.
program Produce; (*$WARNINGS ON*) const Title = 'Super Galactic Invaders with Turbo Gungla Sticks'; Subtitle = 'Copyright (c) 2002 by Frank Borland'; type TitleString = String[25]; SubtitleString = String[18]; var ProgramTitle : TitleString; ProgramSubtitle : SubtitleString; begin ProgramTitle := Title; ProgramSubtitle := Subtitle; end.
Die beiden Stringkonstanten werden Variablen zugewiesen, die zu kurz sind, um den gesamten String aufnehmen zu können. Der Compiler schneidet die Strings ab und führt die Zuweisung durch.
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.
Für dieses Problem gibt es zwei mögliche Lösungen, die beide in diesem Beispiel gezeigt werden. Die erste Lösung ist die Vergrößerung der Variablen, sodass sie den gesamten String aufnehmen kann. Die zweite Möglichkeit liegt darin, die Größe des Strings zu verringern, damit er von der Variablen in ihrer deklarierten Größe aufgenommen werden kann.