![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
AlienEmperor |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 160 Пол: Мужской Реальное имя: Серый Репутация: ![]() ![]() ![]() |
Возникла проблема, совсем не понимаю - откуда ?
Суть: Код Procedure read.... Var F:File; L:Integer; Txt:PChar; .... begin BlockRead(F,L,SizeOf(Integer)); ShowMessage(IntToStr(L)); // должно быть L=10, так и есть, считывает OK GetMem(Txt,L); BlockRead(F,Txt^,L); // вот здесь он считывает 17 - 20 байтов (видимо, по настроению), вместо L=10 !!! .... далее - неправильное считывание, crush and so on... :( FreeMem(Txt,L); End; Если вручную поставить BlockRead(F,Txt^,7), то считывает текст не полностью (т.е. 7 символов вместо 10 - логично, а вот если поставить 8 - то уже глючит точно также) Кто нибудь может сказать в чем здесь дело ??? -------------------- Все в жизни ботва... Кроме пчел!
|
![]() ![]() |
AlienEmperor |
![]()
Сообщение
#2
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 160 Пол: Мужской Реальное имя: Серый Репутация: ![]() ![]() ![]() |
2 hiv: угу...
Причем, я уже проверял: запись проходит корректно... По FilePos смотрел - тоже все ОК - перед самым считыванием строки стоит на 10 байтов до конца файла... После считывания - в самом конце файла... я медленно начинаю шизеть.... ![]() -------------------- Все в жизни ботва... Кроме пчел!
|
![]() ![]() |
![]() |
Текстовая версия | 13.08.2025 8:15 |