Главное поменьше использовать легаси функции ( AssignFile, Reset,Read, CloseFile и т.п. ) как выясняется в лазарусе у них не полная реализация (Разумеется можно и наоборот "спуститься" еще ниже и работать с файлами через winapi (там "все стабильно как на кладбище" ) но это уже (ИМХО) полные мраки )artem78 писал(а):Для моих нужд вполне достаточно. Из памяти мне не нужно, только из файла.
[Решено] Ошибка "File not open" при чтении файла
Модератор: Модераторы
Наверно, вы правы.Alex2013 писал(а):Главное поменьше использовать легаси функции
- Vapaamies
- постоялец
- Сообщения: 292
- Зарегистрирован: 24.07.2012 22:37:59
- Откуда: Санкт-Петербург
- Контактная информация:
В Delphi была проблема с TFileStream: при создании через fmCreate стоял запрет на совместное чтение, даже Far не мог читать. Писал свои классы-обертки над WinAPI, в них всё работало.
В лазарусе кажется ситуация "с точностью до наоборот" TFileStream работает надежно, а легаси (AssignFile, Reset,Read, CloseFile..) увы, невсегда. Думаю что дело в том, что их лазарус-реализация была выполнена еще в "ветхозаветные времена" когда существовал только FPC и с тех пор почти не обновлялась. А в дельфи "легаси" переписывалось не однократно (потому что там много раз "резко" переписывали компилятор "почти с нуля" и библиотеки нижнего уровня как минимум тщательно проверялись), а вот с TFileStream как раз наоборот решили "работает и ладно" и он "остался как есть" со времен первых версий.Vapaamies писал(а):В Delphi была проблема с TFileStream: при создании через fmCreate стоял запрет на совместное чтение, даже Far не мог читать. Писал свои классы-обертки над WinAPI, в них всё работало.
Попробуйте TStringList.LoadFromFile.
