Форум: "Основная";
Текущий архив: 2004.03.03;
Скачать: [xml.tar.bz2];
ВнизStream и Memory. Проблеммы. Найти похожие ветки
← →
Delphi_Child (2004-02-19 15:46) [0]Добрый день. Не подскажите, как исправить следующий код и что я сделал неправильно?
var
Buffer: PChar;
RS : TResourceStream;
Mem:TMemoryStream;
begin
RS := TResourceStream.Create(HInstance, "DAT", "RT_RCDATA");
Mem:= TMemoryStream.Create;
Mem.LoadFromStream(RS);
Richedit1.Lines.Add(InttoStr(Mem.Size));
GetMem(Buffer, 255);
Mem.ReadBuffer(buffer,255);
Richedit1.Lines.Text:=buffer;
FreeMem(Buffer);
Mem.Free;
RS.Free;
end;
← →
Digitman (2004-02-19 15:51) [1]как минимум это
Mem.ReadBuffer(buffer,255);
следует делать так
Mem.ReadBuffer(buffer ^,255);
← →
Delphi_Child (2004-02-19 15:57) [2]Да, спасибо.
А не подскажите еще, как организовать поблочное считывание из памяти? То есть в этом коде следует зациклить вот это
Mem.ReadBuffer(buffer,255);
← →
Romkin (2004-02-19 15:57) [3]А если нормально, то нафиг PChar!!
s: string;
SetLength(s, 255); stream.REad(s[1], length(s));
и все
← →
Romkin (2004-02-19 15:59) [4]Еще можно попробовать SetLength(s, 255); SetLength(S, stream.Read(s[1], length(s))); ;) Если размер ожидается не больше 255
← →
Delphi_Child (2004-02-19 15:59) [5]Сорри, конечно, как и подсказал Digitman © надо так
Mem.ReadBuffer(buffer^,255);
← →
Digitman (2004-02-19 16:06) [6]
> Delphi_Child (19.02.04 15:59) [5]
я тебе так подсказал, потому что у тебя переменная указ.типа
способы [3] и [4] ничуть не хуже и такие же правильные
← →
Delphi_Child (2004-02-19 16:13) [7]Digitman © (19.02.04 16:06) [6]
Да нет, Вы не поняли... Просто в [2] я описался и написал без ^. Именно это я имел ввиду и я нисколько не против [3] и [4].
Так подскажите, насчет [2]?
← →
Delphi_Child (2004-02-19 16:15) [8]Читать следует так-
Сорри. Конечно, как и подсказал Digitman © надо так... :))))
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.03.03;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c