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

Вниз

Ошибка при чтении содержимого файла в буффер   Найти похожие ветки 

 
kanych ©   (2003-10-01 03:23) [0]

Здравствуйте.

Помогите. Второй день мучаюсь, может у меня мозги набекрень ушли, может не у меня.

Посмотрите два варианта одной процедуры. В обоих случаях переменная ABuffer на выходе содержит адрес на непонятную область. При инициализации этой переменной, присваивается одно значение, при чтении файла значение меняется.

Вариант 1.
procedure TSBSign.ReadFile(AFileName: string; var ABuffer: pointer; var ABufferLength: longint);
var
F: file;
begin
if (not FileExists(AFileName)) then
begin
raise Exception.Create("


 
pasha ©   (2003-10-01 03:42) [1]

ф-ция BlockRead требует для себя буффер а не УКАЗАТЕЛЬ на этот буффер. Попробуй вот так


BlockRead(F, ABuffer^, ABufferLength);


Аналогично и для TFileStream


FileStream.Read(ABuffer^, ABufferLength);


Должно заработать. Удачи


 
Германн ©   (2003-10-01 04:12) [2]

Именно так. BlockRead требует во втором параметре адрес первого байта данных ABuffer, а получает адрес первого байта самой переменной ABuffer. И пишет туда что-то. После чего "значение ABuffer меняется".


 
kanych ©   (2003-10-01 04:28) [3]

Всем спасибо огромное. В самом деле требуется не указатель на буффер, а сам буффер.


 
Anatoly Podgoretsky ©   (2003-10-01 07:26) [4]

kanych © (01.10.03 04:28) [3]
Как раз наоборот, требуется именно указатель на буфер, а у тебя указатель на ABuffer



Страницы: 1 вся ветка

Текущий архив: 2003.10.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
14-40571
ARTEMKA
2003-09-23 12:03
2003.10.13
Где найти описания, как создать свой TMediaPlayer


7-40694
tvic
2003-07-31 18:32
2003.10.13
Перевод часов


11-40323
balbes
2003-02-02 17:45
2003.10.13
Try Accept B delphi6


14-40636
Всеволод Соловьёв
2003-09-20 15:24
2003.10.13
Рваный исходящий траффик


6-40541
Death
2003-08-15 16:21
2003.10.13
Проблема с FTP & Indy в Windows 2003 Server