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

Вниз

Файл занят?   Найти похожие ветки 

 
vitnt ©   (2002-12-16 06:40) [0]

Можно ли узнать занят ли файл другим приложением?
У меня такая ситуация:
-другая программа периодически перезаписывает файл (Rewrite, Writeln, CloseFile)
-моя программа периодически считывает этот файл
-иногда возникает проблема: я попадаю в момент между Rewrite и CloseFile, и файл считывется только до того места до которого другая программа успела его записать.
В связи с этим вопрос: как узнать открыт ли в данный момент файл для записи другим приложением?


 
Song ©   (2002-12-16 08:47) [1]

Это зависит от того как ты его открываешь. Также через Reset() ?


 
vitnt ©   (2002-12-16 09:33) [2]

Да, примерно так

Reset(DF);
while (not Eof(DF)) and (i<1000) do Readln(DF, S[i]);


но я также пробовал через
MyString:=TStringList.Create;
MyString.Clear;
MyString.LoadFromFile(Filename);


без разницы


 
Song ©   (2002-12-16 09:36) [3]

Тогда поставь {$I-} и проверяй на IOresult


 
zavdim   (2002-12-16 09:40) [4]

А что тебе надо?
Ты видимо хочешь устроить обмен данными между программами или не так?
Проблема может быть ведь и в другом. У меня так было: создавал звуковой файл прогой, потом считывал другой. Так как правило игралась часть звука - концовка кушалась. В тонкостях не стал разбираться - по другому решил, но может тут и кеширование было.


 
Sha ©   (2002-12-16 20:29) [5]

Попробуй в той программе, которая пишет, по окончании работы ставить флаг READONLY, SYSTEM или HIDDEN или снимать флаг ARCHIVE у записанного файла. А в той, которая читает, анализируй состояние флага.



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

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

Наверх




Память: 0.47 MB
Время: 0.011 c
14-86169
Slym
2002-12-06 20:40
2002.12.26
Нужны исходники алгоритмов шифрования DES и ГОСТ28147-89


1-85991
безумный ламер
2002-12-16 10:31
2002.12.26
два глупых вопроса


1-85901
Sour
2002-12-17 00:34
2002.12.26
Разделитель дробной части


1-85892
Serg_ua
2002-12-16 22:46
2002.12.26
Клавиатура


1-85891
DeMoN-777
2002-12-16 20:05
2002.12.26
Ini files