Delphi-Quellcode:
// 1
Str := ':ps ' + '0' + #13;
// 2
Str2 := '0';
Str := ':ps 0' + Str2 + #13;
1: Der Compiler ist so schlau und macht aus den drei Stringkonstanten eine Stringkonstante ... zur Laufzeit wird da nichts mehr gemacht, also bleibt das, von der Speicherverwalung her, eine Konstande
2: Da werden Strings verbunden, also entsteht eine eine neue Variable.
Das Write schrottet jetzt irgendwie den Speicher, was bei der Konstante wohl keine großen Auswirkungen zeigt,
da bei Freigabe des Variablenzeigers kein Eingriff des Speichermanagements eintritt.
Aber bei der Variable wird das Speichermanagement so geschrottet, daß es danach in einem Fehler endet.