![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Блокирование файла [D7, Win2k]
Kniaz © (2004-09-23 15:38:00)Хочу работать с файлом обычными функциями типа AssignFile, RewRite, ReadLn, WriteLn, но при это мне надо заблокировать этот файл от доступа из других приложений. Как это сделать????
С другими функциями работы с файлами общатся не умею.
Fay (2004-09-23 19:15:00) [21]2 [11] pasha_golub © (23.09.04 19:14)
Если сказал - значит так и есть.
8)
pasha_golub (2004-09-23 19:14:00) [22]Fay © (23.09.04 18:22) [10]
Да что Вы говорите! Какая нехорошая система! Убил бы.
А говоришь - жена юрист ;-)
Fay (2004-09-23 18:22:00) [23]2 [9] Defunct © (23.09.04 18:10)
> В системе не разрешается совместный доступ по записи в файл.
Да что Вы говорите! Какая нехорошая система! Убил бы.
var
h1, h2 : DWORD;
begin
h2 := INVALID_HANDLE_VALUE;
h1 := CreateFile('c:\boot.ini', GENERIC_WRITE, FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0);
try
if h1 = INVALID_HANDLE_VALUE then RaiseLastOSError;
h2 := CreateFile('c:\boot.ini', GENERIC_WRITE, FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0);
if h2 = INVALID_HANDLE_VALUE then RaiseLastOSError;
finally
if h1 <> INVALID_HANDLE_VALUE then CloseHandle(h1);
if h2 <> INVALID_HANDLE_VALUE then CloseHandle(h2);
end;
end;
Defunct (2004-09-23 18:10:00) [24]Пока файл открыт приложением для записи (выделен системный Handle для записи), доступ по записи к нему другим приложениям заблокирован. Как только вы делаете FileClose/ CloseFile и т.п. блокировка снимается.
Квэнди © (23.09.04 18:00) [6]
Причем блин тут чтение? К тому же блокнот просто читает содержимое файла и сразу же его закрывает.
> Fay © (23.09.04 17:20) [4]
Удалите запущенный EXE файл или попробуйте в него что-то записать. В этом направлении ищите и документацию, искать документацию для того чтобы вам что-то доказать у меня нет ни времени ни желания. В системе не разрешается совместный доступ по записи в файл.
Квэнди (2004-09-23 18:08:00) [25]Согласен, при открытии на запись, файл действительно блокируется, приношу свои извинения.
Amoeba (2004-09-23 18:03:00) [26]
> Квэнди © (23.09.04 18:00) [6]
А с чего ты взял, что после загрузки в блокнот файл остается открытым?
Квэнди (2004-09-23 18:00:00) [27]Как инетересно... блокирует сама.. забавно даже, т.е. кароч незя открыть несколько одинаковых файлов в блакноте?.. да? :))) во клас был бы :)
pasha_golub (2004-09-23 17:29:00) [28]Defunct © (23.09.04 15:50) [1]
Ссылочку на инфо, плиз.
Fay (2004-09-23 17:20:00) [29]>> Система сама заблокирует доступ на запись для других приложений.
Это где-то написано, или опыт подсказывает?
ламер (2004-09-23 16:39:00) [30][offtop]
RewRite - довольно интересный вариант :)
[/offtop]
Sandman25 (2004-09-23 15:52:00) [31]FileMode
Defunct (2004-09-23 15:50:00) [32]Система сама заблокирует доступ на запись для других приложений.