Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Почему может не работать FileExisit?


Страницы:   1 2

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

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


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

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


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

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


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


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


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

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


Anatoly Podgoretsky   (2010-06-23 15:49:00) [4]

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


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


> Дмитрий Белькевич   (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.


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


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

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


12   (2010-06-23 10:48:00) [7]

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

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


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


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


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


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


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

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


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

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


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


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


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

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

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


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

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

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

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

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


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


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

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


Leonid Troyanovsky   (2010-06-23 08:25:00) [13]


> Дмитрий Белькевич   (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-22 19:58:00) [14]


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


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


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


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


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

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


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


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


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

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

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


> FileExists(FileName)


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

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


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


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

>> if not FileExists(FileName) then

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


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

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

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

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


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


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


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

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо