Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2011.12.18;
Скачать: [xml.tar.bz2];

Вниз

Почему может не работать 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.005 c
15-1314369615
6136
2011-08-26 18:40
2011.12.18
html для отправки строки на сервер


2-1315480506
LDV
2011-09-08 15:15
2011.12.18
правильное использование транзакций


1-1277214927
Дмитрий Белькевич
2010-06-22 17:55
2011.12.18
Почему может не работать FileExisit?


6-1248848880
Sonoleo
2009-07-29 10:28
2011.12.18
МЭК 80670-5-104


2-1315514369
Германн
2011-09-09 00:39
2011.12.18
Компонент для вывода текста.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский