Hmm..
Dass war der Grund meiner Frage..
Ich habe bisher TStringList zum Laden von Text-Dateien verwendet und da hat es mit #0 kein Abschneiden gegeben.
LoadFromStream und LoadFromFile mach jeweils keinen Unterschied, da ja LoadFromFile einen FileStream erzeugt und mit diesem dann an LoadFromStream aufruft.
(Zumindest bei D6
)
Unter D6 verwendet das LoadFromStream von TStringList auch nur die Funktionen von TStrings und ist somit identisch zu TMemoStrings. Die TStringList hat keine eigene LoadFrom.. Funktionen.
Das bei einem Memo bei #0 abgeschnitten wird, hat eher den Hintergrund, dass der Text per SendMessage (WM_SETTEXT) an das Memo.Handle (= Windows Edit) geschickt wird, und dort halt ein String ohne Längenangabe versendet wird, welcher dann wie ein PChar verwendet wird und bei dem ist an #0 ende..
Würde man somit auf Memo.Lines direkt zugreifen, könne nach einem LoadFrom.. dort doch der komplette Test stehen, nur wird dieser nicht im Memo angezeigt.
(Oder so ähnlich...)
ich vermute, dass sich mit Umstellung auf
Unicode hier etwas verändert hat..