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

Вниз

контролировать конкретный файл   Найти похожие ветки 

 
mad_prog   (2005-08-27 15:20) [0]

Мастере как можно контролировать конкретный файл и не давать ему
доступ другим программам ?


 
Anatoly Podgoretsky ©   (2005-08-27 15:37) [1]

Для этого его надо открыть в монопольном режиме.


 
Big Joe ©   (2005-08-27 16:09) [2]

var
 Form1: TForm1;
 // через этот поток мы будем работать с файлом.
 // Для нескольких файлов — несколько потоков.
 fs: TFileStream;

implementation
{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 // вешаем ограничение. Теперь никто не будет трогать файл
 fs:=TFileStream.Create("D:\gigi.txt", fmOpenRead, fmShareDenyNone);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 //Снимаем ограничение.
 fs.Free;
end;


 
Leonid Troyanovsky ©   (2005-08-29 09:51) [3]


> Big Joe ©   (27.08.05 16:09) [2]

> // вешаем ограничение. Теперь никто не будет трогать файл
>  fs:=TFileStream.Create("D:\gigi.txt", fmOpenRead, fmShareDenyNone);


Share Deny None - не препятствовать совместному использованию.

--
Regards, LVT.


 
Anatoly Podgoretsky ©   (2005-08-29 09:56) [4]

Big Joe ©   (27.08.05 16:09) [2]
// вешаем ограничение. Теперь никто не будет трогать файл
fs:=TFileStream.Create("D:\gigi.txt", fmOpenRead, fmShareDenyNone);

Ты наоборот снял все ограничения.
Надо fmShareExclusive


 
Пантелеев Иван   (2005-08-29 10:10) [5]

А можно такие же ограничения ставить на папки с подкаталогами?


 
Leonid Troyanovsky ©   (2005-08-29 10:44) [6]


> Пантелеев Иван   (29.08.05 10:10) [5]
> А можно такие же ограничения ставить на папки с подкаталогами?


В смысле, чтобы dwShareMode распространилось на
содержимое папки? Тогда - нет.

Вот операции, которые возможны с хендлом директории:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/obtaining_a_handle_to_a_directory.asp

--
Regards, LVT.


 
dmitry501 ©   (2005-08-29 11:06) [7]

Небольшое замечание. Если файл находится на сетевом диске на linux, то так доступ ограничить не удасться.


 
Anatoly Podgoretsky ©   (2005-08-29 13:40) [8]

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



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

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

Наверх




Память: 0.48 MB
Время: 0.026 c
14-1124859709
IfBeginThenEnd
2005-08-24 09:01
2005.09.18
Режим ядра


14-1124948379
Calm
2005-08-25 09:39
2005.09.18
Хороша ли книга? Комп сети. Принципы, технолог. Олифер В.Г.


10-1102440321
bw
2004-12-07 20:25
2005.09.18
Excel: свойства ячейки.


14-1124461472
Lexer
2005-08-19 18:24
2005.09.18
Установка внутренней почты компании


14-1124638541
Alexander Panov
2005-08-21 19:35
2005.09.18
Опять спор об исключениях.