Форум: "Начинающим";
Текущий архив: 2015.11.08;
Скачать: [xml.tar.bz2];
ВнизЗаписать Pointer в TMemoryStream. Как? Найти похожие ветки
← →
trylok (2014-06-06 18:06) [0]Не пойму как записать содержимое P в MS. Через SetPoiner? Но как тогда определить размер содержимого P? Что передать в качестве второго параметра SetPointer - const ASize: NativeInt?
procedure Set(const P: Pointer);
var
MS: TMemoryStream;
begin
MS := TMemoryStream.Create;
try
MS. // <- Записать содержимое P в MS
finally
MS.Free;
end;
end;
← →
sniknik © (2014-06-06 19:03) [1]поинтер эту указатель, откуда у него размер содержимого (и вообще содержимое)? вот зажмурься покрутись вокруг себя, после ткни куда нибудь пальцем, открывай глаза смотря строго на палец... какой размер у того на что он указывает?
можно только у типизированного указателя размер данных узнать (типизированный это такой специальный "палец" который указывает только на что то конкретное... например на поллитру, или бочоночек пива).
← →
Palladin © (2014-06-06 19:58) [2]
> trylok (06.06.14 18:06)
ну это же твой поинтер, как ты не знаешь размер
← →
Inovet © (2014-06-06 20:10) [3]В функцию вместе с поинтером передать и размер.
← →
DVM © (2014-06-07 00:38) [4]Ну если память на которую указывает указатель выделялась дельфийским менеджером памяти,то размер там есть по отрицательному смещению, но лучше конечно хранить размер явно без этих выкрутасов.
← →
Юрий Зотов © (2014-06-07 13:50) [5]А есть ли вообще смысл писать в поток сам указатель? Содержимое того, на что он указывает - это понятно. А указатель-то зачем?
← →
RWolf © (2014-06-07 13:54) [6]а лучше вообще не использовать указатели, в дельфях масса более удобных механизмов.
← →
brother © (2014-06-07 13:59) [7]в параметры добавить Size: integer ?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2015.11.08;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.001 c