Und warum das ganze nicht Ultra-Oldschool ?
Delphi-Quellcode:
procedure bla;
var
f: TEXTFILE;
s: string;
TSL: TStringList;
begin
TSL:=TStringList.Create;
AssignFile(f, 'BLA.TXT');
Reset(f);
while not eof(f) do
begin
ReadLn(f,s);
if s <> '' then
TSL.Add(s);
end;
CloseFile(f);
end;
Datei wird nur einmal komplett gelesen und der Speicherbedarf ist fürs Einlesen nahezu Null.