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

Вниз

Совместный доступ к файлу   Найти похожие ветки 

 
Dim   (2009-04-07 02:42) [0]

Проблема: Необходимо написать утилиту, которая отслеживает лог-файл программы. Данный лог постоянно изменяется. При считывании из лога инфы, написанная мною утила блокирует доступ программы к логу, и программа зависает.
Подскажите, пожалуйста, как избежать этой проблемы.
Пробовал уже следующими способами:
1. FileMod:=0; Reset (f);
2. Методами TFileStream;
3. Методами TMemoryStream;
4. Копировал сначала в др. файл через FileCopy.
При всех данных способах через какое-то время, видимо, утилита начинает считывать инфу, а программа хочет записать, у неё не получается это сделать и она виснет (в смысле оказывается далее правильно функционировать).
Заранее Спасибо за ответы.


 
Anatoly Podgoretsky ©   (2009-04-07 08:59) [1]

В первой программе режим fmShareDenyWrite, во второй программе режим fmShareDenyNone для TFileStream или аналогично для других компонент/функций.

> написанная мною утила блокирует доступ программы к логу

Не надо блокировать, не вижу смысла


 
Dim   (2009-04-07 11:41) [2]

Программу, которая ведет лог, я изменить не могу. Могу изменить только код своей утилиты. Доступ я программно никак не блокирую. Считываю текст через TFileStream.Create (log, fmOpenRead), но в этом случае программа подвисает при попытке записать инфу в лог. Я так понял, что надо попробывать считывать через  TFileStream.Create (log, fmOpenRead or fmShareDenyNone). Завтра попробую.



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

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

Наверх




Память: 0.47 MB
Время: 0.025 c
2-1239604935
ganda
2009-04-13 10:42
2009.05.24
Корректно убить поток в самом потоке


3-1221223824
KirillRepin
2008-09-12 16:50
2009.05.24
Загрузка рисунка из БД в TImage


15-1237101209
MultIfleX
2009-03-15 10:13
2009.05.24
Delphi & Win Mobile


2-1239196029
Лёша
2009-04-08 17:07
2009.05.24
Как создать диалог выбора записей?


15-1237738703
Тимохов
2009-03-22 19:18
2009.05.24
Пролейте свет, знатоки, PHP5 + MySQL+Apache.