Форум: "Начинающим";
Текущий архив: 2015.09.27;
Скачать: [xml.tar.bz2];
ВнизTFileStream Найти похожие ветки
← →
brother © (2014-05-09 14:37) [0]Всем доброго времени суток! Что-то я совсем не понял такого поведения:
Так не пишет (MS2.Size = 33014):
FileStream:= TFileStream.Create(FN, fmCreate);
..
if FileStream.Write(MS2, MS2.Size) = 0 then showmessage("!");
для проверки, так пишет:..
if FileStream.Write(MS2,10000) = 0 then showmessage("!");
ЧЯДНТ?
← →
MBo © (2014-05-09 14:46) [1]что такое ms2?
← →
brother © (2014-05-09 14:51) [2]
MS, MS2: TMemoryStream;
MS:= TMemoryStream.Create;
MS.Size:= Length(RChannel);
MS.Write(RChannel[0], Length(RChannel));
SetLength(RChannel, 0);
...
MS2:= TMemoryStream.Create;
Compression(MS, MS2); //33014
...
← →
turbouser © (2014-05-09 15:08) [3]MS2.position = ?
← →
MBo © (2014-05-09 15:20) [4]это реальный код? ты используешь объектную переменную в качестве нетипизированного параметра. при этом куча байтов пишется по адресу, где расположен указатель
← →
MBo © (2014-05-09 15:22) [5](переменная объекта, а не в Memory стрима)
← →
brother © (2014-05-09 16:23) [6]> MS2.position = ?
в ноль
← →
brother © (2014-05-09 16:23) [7]> при этом куча байтов пишется по адресу, где расположен указатель
где это такое у меня?
← →
brother © (2014-05-09 16:32) [8]да я дебил(
вот так надо:repeat
nRead:= MS2.Read(buffer, SizeOf(buffer));
FileStream.Write(Buffer, nRead);
until nRead = 0;
← →
brother © (2014-05-09 16:45) [9]или можно SaveToStream использовать...
← →
Rouse__ (2014-05-09 16:51) [10]Че ты мучаешся, CopyFrom и вся не долга :)
← →
brother © (2014-05-09 16:52) [11]да и его можно...
зы. пора пить завязывать)
← →
Condition (2014-05-09 23:05) [12]1. Если как в [8], то
...
FileStream.WriteBuffer(...);
until nRead < SizeOf(Buffer);
2. А лучше - CopyStream()
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2015.09.27;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.002 c