Vermutlich wird jeder String vom Compiler erst mal komprimiert,
und das geht eben besser wenn man nur einen großen String hat.
Taucht jeder Buchstabe einzeln in einer Add-Zeile auf, gäbe es ja praktisch gar keine Möglichkeit etwas zu komprimieren. Dass man das Limit mit einem einzelnen längeren String erst später erreicht ist dann eigentlich logisch.
Das Limit an sich ist aber so oder so zum kotzen.
Ich erinnere mich dunkel, dass ich mal eine
Unit, in der es darum gieng einen längeren konfigurierbaren Text zusammenzubasteln, wegen diesem Unfug umschreiben mußte.
Delphi-Quellcode:
if (MyConfig.WantItemXYZ) then
List.Add('xyz')
else
List.Add('---');
...
Wenn man viele solche Zeilen hat, nützen einem die Komprimier-Tricks vom Compiler nix.