Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС
выпущен 4 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

БОЛЬШОЙ FAQ ПО DELPHI



Использование DBIopenlocklist

Автор: Reinhard Kalinke

Вот пример поиска пользователей данной таблицы. Имейте в виду, что свойство TStringList Duplicate установлено в dupIgnore, поскольку пользователь может иметь более одной блокировки таблицы. При работе с dBase возвращается только блокировка текущего сеанса, тогда как с Paradox функция покажет всех пользователей, получивших доступ к этому же NET-файлу.


 procedure GetTableUserList(ATable: TTable; AStringList: TStringList);
 var
   hUserCur: hDBICur;
   pUserBuf: pByte;
 begin
   AStringList.Clear;
   AStringList.Duplicates := dupIgnore;
   Check(DBIOpenLockList(ATable.Handle, True, True, hUserCur));
   GetMem(pUserBuf, SizeOf(LOCKDesc));
   try
     while (DBIGetNextRecord(hUserCur, dbiNOLOCK, pUserBuf, nil) = DBIERR_NONE) do
       AStringList.Add(StrPas(pLOCKDesc(pUserBuf)^.szUserName))
   finally
     FreeMem(pUserBuf, SizeOf(LOCKDesc));
     DBICloseCursor(hUserCur);
   end;
 end;
 




<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS