Сергей Смирнов писал(а):TStream.Write
если верить документации, вообще не поддерживается и возвращает эксепшн, ибо этим должен заниматься потомок.
Забыл упомянуть:
TempStream:TMemoryStream;
Буфер пишет .WriteBuffer, вызывающая для своей работы ту самую .Write.
Если верить исходникам, то
- Код: Выделить всё
Procedure TStrings.SaveToStream(Stream: TStream);
Var
S : String;
begin
S:=Text;
Stream.WriteBuffer(Pointer(S)^,Length(S));
end;
Самому что ли так попробовать?
Добавлено спустя 4 минуты 47 секунд:Ага, так сработало... Но как-то грустно, раз уж string и так передается по ссылке.