Nun hatte ich aber in der Hilfe (
http://docwiki.embarcadero.com/RADSt...e/String-Typen) gelesen (oder es so verstanden), dass Delphi "FirstName" nur einmal erzeugt und künftig Referenzen darauf benutzt. Ändert eine Referenz ihren Wert in "Test" wird der Teststring neu angelegt und der RefCounter von "FirstName" reduziert. Gibt es keine Referenz mehr auf "FirstName" wird der Speicherplatz freigegeben. Ist das richtig?
Ja. Aber Achtung: Erzeugst du zweimal dynamisch den gleichen String, belegt der auch zweimal Speicher.
Ich halte es für besser, einen Stringimplementierung zu benutzen, die sicherstellt, dass Strings mit gleichem Inhalt ihren Speicher teilen. Niemand garantiert, das Strings in Delphi für immer Referenz-gezählt bleiben.