Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.12.18;
Скачать: CL | DM;

Вниз

Почему может не работать FileExisit?   Найти похожие ветки 

 
Дмитрий Белькевич   (2010-06-22 17:55) [0]

Ситуация: файлы видно в проводнике, но FileExists возвращает False. 2003-й сервер, Delphi 2010. Причём не на один какой-то файл, а на сотни. Файлы ничем не выдающиеся - обычная пачка данных, ничего системного. Файлы не открыты ничем и зашарены на чтение/запись. Вирусов/антивирусов, говорят, нет. Уж и не знаю, что думать...


 
12 ©   (2010-06-22 17:59) [1]

может, путь не тот
попробуйте по тому же пути создать файл


 
Плохиш ©   (2010-06-22 18:09) [2]

Подозреваю, что ошибка в 17й строке.


 
Дмитрий Белькевич   (2010-06-22 18:25) [3]

Путь точно тот.

>Подозреваю, что ошибка в 17й строке.

Строка, увы, почти одна :)


     if not FileExists(FileName) then
       raise Exception.CreateFMT("File not found: %s", [FileName])


 
Телепатор   (2010-06-22 18:25) [4]

Неправильно указана буква диска.


 
Дмитрий Белькевич   (2010-06-22 18:28) [5]

читать:

>Файлы не открыты ничем и _не_ зашарены на чтение/запись.


 
Дмитрий Белькевич   (2010-06-22 18:31) [6]

Тест. Что-то сообщения на форум не добавляются. Везде глюки :)


 
Плохиш ©   (2010-06-22 18:46) [7]

Зачем оно тебе это программирование?


 
Дмитрий Белькевич   (2010-06-22 18:55) [8]


> Зачем оно тебе это программирование?


Угу, вот и я думаю :)

Блин, ну жесть какая - не могу добавить строку-путь в форум. Пробую в ie/опере, перенабрал руками, не добавляет...


 
Дмитрий Белькевич   (2010-06-22 18:59) [9]

Временно кинул себе на форум строку, врятли туда кто-то полезет и что-то на этом форуме поправит, но мало ли:

http://www.makhaon.com/forum/viewtopic.php?t=420

Вот такую строку не могу добавить на форум и вот такое исключение случается.


 
12 ©   (2010-06-22 19:10) [10]

>> if not FileExists(FileName) then

if opendialog1.execute then
if opendialog1.FileName <> FileName then


 
Smile   (2010-06-22 19:11) [11]

> Дмитрий Белькевич   (22.06.10 18:25) [3]
> Путь точно тот.


Выложи значение FileName из
FileExists(FileName)


 
Дмитрий Белькевич   (2010-06-22 19:16) [12]


> Выложи значение FileName изFileExists(FileName)


Смотри исключение в

http://www.makhaon.com/forum/viewtopic.php?t=420

вот такой же путь и в


> FileExists(FileName)


 
Smile   (2010-06-22 19:43) [13]

Я так понял, что тебе некогда, да и нет желания отвечать на посты адресованные тебе.
Успеха тебе в дальнейшем процессе программирования
:)


 
Дмитрий Белькевич   (2010-06-22 19:58) [14]


> Я так понял, что тебе некогда, да и нет желания отвечать
> на посты адресованные тебе.


Вроде бы на всё отвечаю... Другой информации, кроме уже сказанной у меня нет.


> Успеха тебе в дальнейшем процессе программирования


Ничего - прорвёмся, не в первый раз :)


 
Leonid Troyanovsky ©   (2010-06-23 08:25) [15]


> Дмитрий Белькевич   (22.06.10 17:55)

> Ситуация: файлы видно в проводнике, но FileExists возвращает
> False.

Оная функция более вредна, чем полезна.
Уже не раз говорили, сейчас он есть, а через кол времени - нет.

Надо просто делать нужные действия и реагировать на исключения.

Дропни из проводника файл в окно "Выполнить.." (Win+R), скопируй
и брось сюда. Вот, например
"C:\Documents and Settings\lvt.OFFICE\My Documents\Books\palanik_kishki.rtf"

--
Regards, LVT.


 
Дмитрий Белькевич   (2010-06-23 10:10) [16]

>Уже не раз говорили, сейчас он есть, а через кол времени - нет.

Всё еще хуже, файлы точно есть :) Их никто не удаляет. А если они когда-то и удаляются, то вначале удаляются записи на эти файлы в базе, а только потом - сами файлы, так что на других установках всё работает идеально. Вот - в одном месте такое случилось, пока не знаю, что делать.

>Надо просто делать нужные действия и реагировать на исключения.

Я делаю и то и другое. Предварительно проверяю, затем открываю:


FStream := TFileStream.Create(FFileName, fmOpenRead or fmShareDenyWrite);


и обрабатываю исключения, если произойдут.

Человек сегодня поедет разбираться на место, возможно файлмон чем-то поможет. Пока что не могу представить, что там не так.


 
Плохиш ©   (2010-06-23 10:17) [17]


> Дмитрий Белькевич   (22.06.10 17:55)
>
> Ситуация: файлы видно в проводнике, но FileExists возвращает
> False.


> Дмитрий Белькевич   (23.06.10 10:10) [16]

> Человек сегодня поедет разбираться на место

И почему я не удивлён?


 
12 ©   (2010-06-23 10:34) [18]

что молчим по поводу dialog1.open, найти файл вручную и сравнить с тем что программа вычислила?


 
Плохиш ©   (2010-06-23 10:35) [19]


> 12 ©   (23.06.10 10:34) [18]

Так человек же ещё не доехал.


 
Дмитрий Белькевич   (2010-06-23 10:44) [20]


> И почему я не удивлён?


Что делать - установка в тысяче км от меня, удалённого управления принципиально не дают, ну что я могу еще сделать...


 
12 ©   (2010-06-23 10:48) [21]

> что я могу еще сделать...

отправить версию с заплаткой или утилиту диагностики, попросить ее выполнить


 
Плохиш ©   (2010-06-23 11:08) [22]


> Дмитрий Белькевич   (23.06.10 10:44) [20]
> Что делать - установка в тысяче км от меня, удалённого управления
> принципиально не дают, ну что я могу еще сделать...

Странно в постах [9] и [12] какие-то строки даются и исключения упоминаются, а про тысячи км считается неважной информацией.
Типа, такая недоциганка лечит без фотографии.


 
Leonid Troyanovsky ©   (2010-06-23 11:08) [23]


> Дмитрий Белькевич   (23.06.10 10:10) [16]

> Я делаю и то и другое. Предварительно проверяю, затем открываю:

Первое - излишне и бессмысленно.
Нужна лишь обработка исключения.

 try
   FStream := TFileStream.Create(FFileName, fmOpenRead or fmShareDenyWrite);
 except
   on E: EFOpenError do
     begin
       E.Message := E.Message + ": "+  SysErrorMessage(GetLastError);
       raise;
     end;
 end;

--
Regards, LVT.


 
Anatoly Podgoretsky ©   (2010-06-23 15:49) [24]

Вирус не исключаешь, человеческий фактор? Саботаж?


 
Дмитрий Белькевич   (2010-06-23 16:43) [25]


> Вирус не исключаешь, человеческий фактор? Саботаж?


Всё возможно, поедут разбираться, неясно, что происходит. Местные говорят - что иногда одни и те же файлы доступны, иногда - нет. Чудеса какие-то.

Спасибо всем за обсуждение, Трояновскому за убеждение в бессмысленности, проверку уберу.


 
Дмитрий Белькевич   (2010-06-24 10:22) [26]

Оказался битый веник. Нас чуть не заставили ехать на место самих...
Тяжела и неказиста жизнь простого программиста, да...


 
Дмитрий Белькевич   (2010-06-24 10:23) [27]

Лучше в дворники - да, мети себе, да мети :)



Страницы: 1 вся ветка

Текущий архив: 2011.12.18;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.011 c
4-1252931571
MultIfleX
2009-09-14 16:32
2011.12.18
bluetooth


15-1314204395
Кто б сомневался
2011-08-24 20:46
2011.12.18
Свежая Windows 7 - проблемы с удалением файла


2-1315587791
Rucosinus
2011-09-09 21:03
2011.12.18
Просмотр шрифтов из папки


1-1277656298
DeusNoxious
2010-06-27 20:31
2011.12.18
Интерактивный Google maps


2-1315570446
Евгений07
2011-09-09 16:14
2011.12.18
WSAWaitForMultipleEvents для однонитевого сервера