Главная страница
    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.008 c
14-6255
ZeBriD
2004-02-09 19:41
2004.03.03
Подскажите, люди у кого фантазия хорошая!!!


3-5976
Карелин Артем
2004-02-05 12:25
2004.03.03
Структура таблиц для поисковика на FireBird.


6-6180
alexEagle
2003-12-25 20:18
2004.03.03
Непонятная ошибка при вызове WSAWaitForMultipleEvents


1-6115
Miwa
2004-02-20 17:18
2004.03.03
Как в TStringList.AddObject вместо объекта integer засунуть?


6-6172
Gorlum
2003-12-26 13:22
2004.03.03
E-mail





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский