Difference between revisions of "DBUnlockStringMutex"
m (1 revision imported) |
|
(No difference)
|
Latest revision as of 07:43, 7 February 2021
DBUnlockStringMutex (Серверные функции) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция осуществляет разблокировку именованного серверного семафора, либо возвращает данные пользователя, который его заблокировал. См. также функцию DBLockStringMutex.
Синтаксис
DBUnlockStringMutex(<Имя семафора (STRING)>,<Заблокировано пользователем (STRING)>,<Заблокировано на машине (STRING)>,<Время блокировки (DATE)>):<Результат (INT)>
Аргументы
<Имя семафора (STRING)>
- Имя серверного семафора, который необходимо проверить<Заблокировано пользователем (STRING)>,<Заблокировано на машине (STRING)>,<Время блокировки (DATE)>
- (возможен аргумент-переменная (ByRef)) (необязательный аргумент) Переменные, получающие информацию о том, кто, где и в какое время произвел блокировку семафора, если он был заблокирован другим клиентом.
Возвращаемое значение
Возвращает 1, если семафор успешно разблокирован, иначе возвращает 0, при этом, если семафор заблокирован другим клиентом, функция заполняет предоставленные переменные данными о клиенте, выполнившем блокировку.
Примеры
//Блок позволяет провести обмен с другой базой из текущей в монопольном режиме (другие пользователи из текущей базы не смогут производить обмен, пока он ведется данным клиентом). ИмяБлок:="Обмен с центральной базой"; аПольз:="";аМаш:="";аДата:=""; If not DBLockStringMutex(ИмяБлок,аПольз,аМаш,аДата) Then Box("Обмен с с центральной базой уже выполняет пользователь "+аПольз+" ("+аМаш+"), начало "+аДата+"! Дождитесь окончания предыдущего обмена!",Q_STOP); Exit; EndIf; Try ... Finally DBUnlockStringMutex(ИмяБлок); EndTry;