Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как работает функция? [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.


Наверх

Титульная страница Поиск, карта сайта Написать письмо