Форум » Clipper » ADS4NW 7.X: ax_AllLocks() возвращает массив с длиной = 2*число_блокировок. У вас также ? » Ответить

ADS4NW 7.X: ax_AllLocks() возвращает массив с длиной = 2*число_блокировок. У вас также ?

p519446: Сабж.

Ответов - 3

Pager: p519446 Где такую функцию только нашел и зачем ее юзать!? И что подразумевается под блокировками?! Если блокировка записей в таблице, то для этого же есть AX_GetLocks() и Ax_Rlock(), AX_IsLocked().... а эта же относиться к "менеджментовым". Хотя проверил, действительно возвращает двумерный массив как сказано в описаловке. NW51+ADS7+CLIPER52E

p519446: Pager пишет: Где такую функцию только нашел и зачем ее юзать!? 2Pager: ax_GetLocks() возвращает массив номеров записей, заблокированных "МНОЮ" (т.е. тем, кто её сейчас вызывает); ax_IsLocked() -- возвращает .T. or .F., если текущая запись опять-таки заблокирована "МНОЮ". А мне надо знать, заблокирована ли сейчас запись с конкретным номерком _ДРУГИМ_ сеансом. Понятно, что я могу ПОПЫТАТЬСя её блокирнуть с помощью ax_Rlock(.f.) и при возврате .f. считать, что эта строка сейчас заблокирована ДРУГИМ сеансом. Только этот вызов, имхо, более "жаден" к ресурсам - он лезет с вопросом к ОС сервера. Но ведь АДС при установке блокировок где-то у себя держит "свою" таблицу с номерами строк! И обновляет её с некоторой периодичностью на случай, когда клиент "умирает" (проверено на ADS for NW 6.x. 7.x: примерно через 2-3 секунды после "смерти" клиента АДС снимает блокировку с записи и, ес-сно, убирает её из своей таблицы). Вот я и начал юзать эту ф-цию. И работать стало побыстрее примерно (ненамного, конечно, но ощутимо). ЗЫ. Я описаловку читал, про 2D-массив, ес-сно, тоже знаю. Только мой вопрос не почему он возвращает 2D-array, а почему в этом массиве элементы ЗАДУБЛИРОВАНЫ (!!!) Ы ?

suv3: p519446 пишет: ax_IsLocked() -- возвращает .T. or .F., если текущая запись опять-таки заблокирована "МНОЮ". по-моему, кем угодно. почему мне так катежется - в памяти сидит имя функции IsLockedByMe, которую мы делали ну и isLocked делает именно то, о чем ты говоришь - пытается блокировать




полная версия страницы