![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TFileStream [D6, Win2k]
lead-in © (2008-01-24 17:23:00)Доброго утра/дня/вечера.
Пишу вот что:
var map: array of byte;
...
fstream_in := TFileStream.Create(path + 'data_in.dat', fmOpenRead);
fstream_out := TFileStream.Create(path + 'd2.dat', fmOpenWrite);
size_in := fstream_in.Seek(0, soFromEnd);
fstream_in.Seek(0, soFromBeginning);
fstream_out.Seek(0, soFromBeginning);
SetLength(map, size_in);
fstream_in.Read(map, size_in);
при этом вылезает ошибка "access violation..." (в сам массив ничего не записывается, файл изначально не пустой)
если просто поменять массив на статический...
var map: array [0..999] of byte;
...
fstream_in := TFileStream.Create(path + 'data_in.dat', fmOpenRead);
fstream_out := TFileStream.Create(path + 'd2.dat', fmOpenWrite);
size_in := fstream_in.Seek(0, soFromEnd);
fstream_in.Seek(0, soFromBeginning);
fstream_out.Seek(0, soFromBeginning);
SetLength(map, size_in);
fstream_in.Read(map, size_in);
...то всё нормально! В чём тут может быть дело?
Заранее благодарен.
Германн (2008-01-24 17:37:00) [1]
> fstream_in.Read(map [0], size_in);
>
clickmaker (2008-01-24 17:35:00) [2]size_in чему равен?
Amoeba (2008-01-24 17:34:00) [3]Отладчиком пользоваться умеешь?
И еще почитай для начала в букваре про динамические массивы.