Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.03;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
9-5936
Micah'GF
2003-08-17 10:02
2004.03.03
DXDraw.Canvas.LineTo


14-6205
Ученик!
2004-02-11 16:19
2004.03.03
Задача!!!


1-6114
roadstar
2004-02-20 18:00
2004.03.03
Про компиляцию...


1-6083
Александр1
2004-02-21 11:29
2004.03.03
Работа с компонентом StringGrid


1-6077
alless
2004-02-20 19:30
2004.03.03
ScrollBar