Форум: "Начинающим";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];
ВнизBlockRead и AV Найти похожие ветки
← →
Vovan #2 (2007-01-17 16:29) [0]Что я делаю не так? Размер файла 100 Кб.
var f: file;
i: Integer;
begin
OpenDialog1.Execute;
AssignFile(f, OpenDialog1.Filename);
Reset(f);
BlockRead(f, i, SizeOf(Integer));
CloseFile(f);
---> AV
← →
Германн © (2007-01-17 16:31) [1]Reset(f,1);
← →
Vovan #2 (2007-01-17 16:36) [2]М-м, похоже. Спасибо!
А почему когда я до этого делал
BlockRead(f, SomeHeader, SizeOf(TSomeHeader));
то читало нормально?
← →
Плохиш © (2007-01-17 16:37) [3]
> А почему когда я до этого делал
>
> BlockRead(f, SomeHeader, SizeOf(TSomeHeader));
>
> то читало нормально?
Повезло...
← →
Германн © (2007-01-17 16:38) [4]
> А почему когда я до этого делал
>
> BlockRead(f, SomeHeader, SizeOf(TSomeHeader));
>
> то читало нормально?
>
Это тебе только так казалось.
← →
palva © (2007-01-17 16:42) [5]Параметр у Reset это длина блока в байтах. По умолчанию длина блока какая-то довольно большая. При чтении мы должны указать длину в БЛОКАХ. Поэтому если длины файла хватило, то может прочитаться, если длину блока забыли указать. Единственно, что прочтется гораздо больше чем запрошено, и могут затереться какие-то другие области.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.043 c