Вопрос № 166228: Здравствуйте! Есть в потоке данные S: TMemoryStream и есть некий другой адрес P: Pointer; мне нужно данные физически перенести на адрес P, помогите пожалуйста....
Вопрос № 166.228
Здравствуйте! Есть в потоке данные S: TMemoryStream и есть некий другой адрес P: Pointer; мне нужно данные физически перенести на адрес P, помогите пожалуйста.
Отвечает: Бизин Михаил Анатольевич
Здравствуйте, Дадаев Заур Мусаевич!
S.ReadBuffer(P^,Size); Чтение с текущей позиции потока в память, на которую указывает P, при этом указатель P должен указывать на выделенный участок памяти размером не меньше чем Size
public procedure TMemoryStream.ReadBuffer(var Buffer; Count: LongInt); // Читает данные из потока в Buffer ReadBuffer читает Count байт потока в Buffer. Если поток не содержит Count байт, то вызывается исключение. ReadBuffer следует использовать при фиксированном
количестве байт, при чтении структур или содержимого переменных. Если число байт не определено, используйте TMemoryStream.Read. ReadBuffer вызывает Read внутри себя.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.