![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
FileExists(myfName) [D6, WinXP]
opoloXAI © (2008-06-06 15:51:00)Добрый день.
На HDD ТОЧНО есть файл myfName (причём путь к этому файлу указан и он правильный). Функция FileExists(myfName) возвращает (как и положено) true. Всё OK.
НО вопрос просто абсурдный: функция FileExists(myfName) возвращает false, когда я открываю этот файл: он состоит из текста (примерно 20%) и остальное $FF = размер файла 256Кб (если надо могу выслать по почте но правда ближе к вечеру). Не работает именно этот файл. {другими приложениями этот файл не открыт} В чём моя ошибка?
opoloXAI (2008-06-09 12:22:00) [1]спасибо Loginov Dmitry: FindClose(SRec); забыл.
Loginov Dmitry (2008-06-09 09:51:00) [2]> Я заменил FileExists() на:
> function myFileExists(fName: String): Boolean;
> var SRec: TSearchRec;
> begin
> If FindFirst(fName,faAnyFile,SRec)=0 then Result:=true
> else Result:=false;
>
> end;
> и теперь все работает как часы. Большое всем спасибо.
Закрывать поиск кто будет?
> Я заренее знал, что вопрос слишком "глупый". Но этот глюк
> реально существует.
см. [7]
Anatoly Podgoretsky (2008-06-09 09:19:00) [3]> opoloXAI (09.06.2008 8:32:06) [6]
Глюк только в голове
opoloXAI (2008-06-09 08:32:00) [4]Я заренее знал, что вопрос слишком "глупый". Но этот глюк реально существует. Я уверен. (Может когода-нибудь ещё кто-то нарвётся).
Я заменил FileExists() на:
function myFileExists(fName: String): Boolean;
var SRec: TSearchRec;
begin
If FindFirst(fName,faAnyFile,SRec)=0 then Result:=true
else Result:=false;
end;
и теперь все работает как часы. Большое всем спасибо.
jack128_ (2008-06-07 15:43:00) [5]ну забей на FileExists и напиши свою на основе FindFirstFile...
Если интересно разобраться вызови для открытого файла GetFileAttributes и проверь результат его выполнения на ошибку (RaiseLastOSError + F1)
Loginov Dmitry (2008-06-07 09:29:00) [6]Кто еще помимо твоей программы работает (либо может работать) с этим файлом?
Где ответ на [1]? Приведи код открытия файла. Как используешь файл (чтение / запись)?
Что будет, если сделать копию файла в другом каталоге и работать с нею?
Renegat (2008-06-07 09:12:00) [7]> Или ты пытаещься «открыть» файл и тогда, когда возвращает false?
Нет. Когда он не ещё открыл этот файл, функция возвернёт ему 1. А когда открыл - уже не 1, а 0, хотя файл же есть - вот он, открытый!
ЮЮ (2008-06-07 04:55:00) [8]> Функция FileExists(myfName) возвращает(как и положено)
> true. Всё OK.
> НО вопрос просто абсурдный: функция FileExists(myfName)
> возвращает false
Ничего не понял. Так что она возвращакт?
Или ты пытаещься «открыть» файл и тогда, когда возвращает false?
Ega23 (2008-06-06 16:53:00) [9]как открываешь?