Tritt das Problem auch auf, wenn du ein TRichEdit verwendest?
Gute Idee! Scheint zu funktionieren!
Die andere Frage: Warum willst du 280MB Text (auf einmal) auf dem Bildschirm anzeigen?

Gute Frage! Da ich etwas mehr möchte als nur Anzeigen, schien mir TMemo eine gute Wahl zu sein.
Es knallt übrigens bei SetTextStr.
Delphi-Quellcode:
procedure TStrings.LoadFromStream(Stream: TStream);
var
Size: Integer;
S: string;
begin
BeginUpdate;
try
Size := Stream.Size - Stream.Position;
SetString(S, nil, Size);
Stream.Read(Pointer(S)^, Size);
SetTextStr(S);
finally
EndUpdate;
end;
end;
Gruß
K-H