Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.011 c
3-5960
Anatoly
2004-02-05 17:29
2004.03.03
BLOP-поле (файл Excel)


1-6081
Defunct
2004-02-21 12:19
2004.03.03
ListView создание отчета


14-6185
jen
2004-02-11 16:26
2004.03.03
Люди, помогите, какой-то бред со СТРОКАМИ!!!


1-6129
Erik
2004-02-19 16:17
2004.03.03
Создание динамической струскуры хранения данных.


3-5942
_serega_
2004-02-06 11:56
2004.03.03
---|Ветка была без названия|---





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский