Kann er nicht wirklich, es sei denn er baut sich auch noch einen virtuellen String-Typen, denn
Hallo,
an einer Stelle wird leider StringList.Text
verwendet -> Puff.
Kann er doch. Da ja nur die Zeilenadressen sowie ein ggf. mehr oder weniger kleiner Cache im Speicher liegen, spart er auf jeden Fall den Speicher für das Stringarray mit den Texten. Klar macht es "Puff". Aber vermutlich viel später.
Zumal ich mir die Frage stelle, welchen sinvollen Einsatzzweck der Abruf des gesamten strings haben sollte.
Weitere Möglichkeit: Eine Stringlist, die nicht mit einem Array als Backend arbeitet, sondern mit einer doppelt verketteten Liste. Die verbraucht zwar letztendlich insgesamt etwas mehr Speicher - aber kommt mit Fragmentierung zurecht.