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

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

Как ухапшить файл [D7, XP]


Страницы:   1 2

Scarllett ©   (2008-11-05 10:36:00) 

Проблема выглядит таким образом. Некая (мне чуждая программа) формирует свой файл. Время формирования различно от пары секунд до пяти и более минут. Заранее предсказать очень трудно. Мое приложение должно сграбливать данные  (отдавать их в БД) после того как формирование файла закончено. По атрибутам файла ничего не понять, пыталась по таймеру смотреть размер файла - приложение вываливается с I/O Error. Мож у кого есть идея, что поделать можно. Заранее благодарна за Ваше время и рассмотрение


Scarllett   (2008-11-06 09:44:00) [1]

Спасибо LVT, так и сделаю
насчет перевода в студию ... уХАПшить=схватить=сграбастать=ХАПНУТЬ


Leonid Troyanovsky   (2008-11-05 16:24:00) [2]


> Плохиш ©   (05.11.08 12:14) [9]

> Если файл не текстовый, то стоит рассмотреть TFileStream.

Без разницы. TFileStream - forever.

> Scarllett   (05.11.08 14:43) [17]
> ПравоВасе. Это по-польски, там оно вполне печатно

Хвойное дерево из 3 букв начинается на "п"?
Просим перевод в студию.

> Scarllett   (05.11.08 13:28) [14]
> Спасибо за обсуждение, я имела ввиду Reset (F)

Не нужен никакой Reset.
После таймаута на FindFirstChangeNotification &etc
нужно пытаться открыть файл монопольно и сохранить
его в базу вместе со временем доступа.
По-крайней мере, будет консистентность (лат.)

--
Regards, LVT.


Scarllett   (2008-11-05 14:45:00) [3]

2 Riply. Именно так, не имея связи с программой, которая закрывает


Riply   (2008-11-05 14:44:00) [4]

>  [16] Riply ©   (05.11.08 14:42)
Очепятка. Sorry :)


Scarllett   (2008-11-05 14:43:00) [5]

ПравоВасе. Это по-польски, там оно вполне печатно


Riply   (2008-11-05 14:42:00) [6]

> [0] Scarllett   (05.11.08 10:36)
>...
> Время формирования различно от пары секунд до пяти и более минут. Заранее предсказать очень трудно.
> Мое приложение должно сграбливать данные  (отдавать их в БД) после того как формирование файла закончено.
> Мож у кого есть идея, что поделать можно.

Перехватить закрытее файла ?


Правильный$Вася   (2008-11-05 14:23:00) [7]


> делать ухапшивание

у меня море ассоциаций на это слово, и все непечатные


Scarllett   (2008-11-05 13:28:00) [8]

Спасибо за обсуждение, я имела ввиду Reset (F)


Anatoly Podgoretsky   (2008-11-05 13:18:00) [9]

> Плохиш  (05.11.2008 12:53:12)  [12]

Опа не обратил внимания.
Короче кода надо больше, по крайней мене определение файла, потому что  Reset (F,1); это не текстовый файл Паскаля.


Плохиш   (2008-11-05 12:53:00) [10]


> Scarllett   (05.11.08 12:20) [10]
> Anatoly Podgoretsky ©   (05.11.08 12:23) [11]

А вот смущает меня эта фраза:

> долбится Reset (F ,1);и на не ошибке делать ухапшивание

зачем открывать текстовый файл как нетипизированный?


Anatoly Podgoretsky   (2008-11-05 12:23:00) [11]


> Scarllett   (05.11.08 12:06) [8]

Зачем искать другие пути, если этот нормальный.
Цикл пока ошибка или таймаут.
При том если я верно понял, то это текстовый файл Паскаля, тогда и блокировка на момент операции будет автоматически.


Scarllett   (2008-11-05 12:20:00) [12]

текстовій он, зараза


Плохиш   (2008-11-05 12:14:00) [13]


> Scarllett   (05.11.08 12:06) [8]

Если файл не текстовый, то стоит рассмотреть TFileStream.


Scarllett   (2008-11-05 12:06:00) [14]

Спасибо Влад, Плохиш. Наверно попробую так
долбится Reset (F,1); и на не ошибке делать ухапшивание
Интересно. а совсем других путей нет?


Плохиш   (2008-11-05 11:48:00) [15]

Я бы рекомендовал открывать на чтение в эксклюзивном режиме.


Vlad Oshin   (2008-11-05 11:27:00) [16]

не надо писать, надо попытаться открыть с правом на запись


Scarllett   (2008-11-05 11:18:00) [17]

Спасибо Бразза, это как я поняла с обработкой on Exception и т.д..., но если если ошибки не будет. выйдет, что я нечто мне не нужное в файл писну. Что ж касается "... прога опять может попутаться произвести запись ..." то этого я не боюсь, я могу управлять тем когда она начнет запись, вот токи не могу заставить ее закончить вовремя (ну в общем, все как в жизни ;-)


Плохиш   (2008-11-05 11:00:00) [18]


> По атрибутам файла ничего не понять, пыталась по таймеру
> смотреть размер файла - приложение вываливается с I/O Error.

Начать надо с изучения обработки исключительных ситуаций в делфи. Ключевые слова try, except, {$I-}


brother   (2008-11-05 10:54:00) [19]

> освободится, а не в процессе занятости своей

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


Scarllett   (2008-11-05 10:51:00) [20]

Спасибо  Влад. В том то и проблема, что он (файл) мне нужен как только (неизвестно когда) освободится, а не в процессе занятости своей


Страницы:   1 2

Наверх

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