![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как работает функция? [D7, 95/98]
fast2 © (2006-06-22 10:09:00)function TForm1.UseFile(FilePath:string):boolean;
var HFileRes:HFILE;
begin
Result := False;
try
if not FileExists(FilePath) then Exit;
HFileRes := CreateFile(Pchar(FilePath),GENERIC_READ or GENERIC_WRITE,0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
Result := (HFileRes = INVALID_HANDLE_VALUE);
if not Result then CloseHandle(HFileRes)
finally
end;
end;
Нашел ее в инете. До сих пор проверял ею, открыт ли документ ворда или нет. Вопрос в том, можна ли этой ф-ей проверить, занят (открыт) ли сейчас файл файловой БД (Парадокс). И вообще - как работает ф-я?
fast2 (2006-06-22 11:01:00) [1]Если можна, напишите код, как это сделать. Буду очень благодарен!
tesseract (2006-06-22 10:58:00) [2]вызывай после неё GetLastError и смотри, что он возвращает.
fast2 (2006-06-22 10:34:00) [3]>Вообще неплохо-бы проверять getlasterror на ERROR_ACCESS_DENIED.
Как можно переделать вышеописаную функцию?
tesseract (2006-06-22 10:27:00) [4]
> И вообще - как работает ф-я?
пытается захватить файл в монопольное пользование, если он занят - то кирдык .
Вообще неплохо-бы проверять getlasterror на ERROR_ACCESS_DENIED.