Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
3-5968
Незнающий
2004-02-05 14:35
2004.03.03
Lookup-поля


1-6051
Berezne
2004-02-17 17:51
2004.03.03
Правильное отображение дати


14-6192
Knight
2004-02-09 01:21
2004.03.03
Навеяно темой о Лукьяненко...


3-5983
Filat
2004-02-06 13:47
2004.03.03
IBTable1.Filter:= - смех сквозь слёзы или где собака порылась?


1-6071
Batoon
2004-02-21 15:20
2004.03.03
*.DCU




   Наверх