Должен ли я вызвать Source.Seek (0, soFromBeginning) после TFileStream.Create? - PullRequest
3 голосов
/ 23 июля 2011

Я видел довольно мало мест (один пример здесь: http://pascalgamedevelopment.com/archive/index.php/t-1204.html) людей, делающих это.

Документация Embarcadero ничего не говорит о положении заголовка в файле / потоке после создания потока.


Вывод:

Поскольку документация не гарантирует положение курсора, мы должны использовать 'Seek = 0'. Даже если теперь курсорнаходится в начале файла, мы никогда не узнаем, как это изменится во времени. Так как Embarcadero не документирует это, похоже, они оставляют за собой право изменить его.

1 Ответ

14 голосов
/ 23 июля 2011

TFileStream.Create просто открывает дескриптор файла и оставляет позицию файла, где Win32 поместил его после того, как дескриптор был открыт - в начале файла.

Нет необходимости искать в 0 позиции; ты уже там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...