Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
RLOCK - исправьте ошибку!!!
|
|||
|---|---|---|---|
|
#18+
во вложении пример проджекта, не могу добиться блокирования записи при нажатии на кнопку РЕДАКТИРОВАТЬ... В чем топор? а надо именно так: если кто-то редактирует - мессага = "запись редактируется" иначе - просто редактирование, а получается - В ЛЮБОМ случае при попытке изменить содержимое поля NAME во второй форме - получаю в лоб Record is locked... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2004, 04:12 |
|
||
|
RLOCK - исправьте ошибку!!!
|
|||
|---|---|---|---|
|
#18+
Там у тебя в примере и для формы просмотра и для формы редактирования в DE формы лежат у каждой по 1 таблице TABLE1, да еще в приватных датасессиях То есть вв кнопке редактировать ты блокируешь текущую запись, а затем уже открываешь второй экземпляр TABLE1, и передаешь параметр номера записи, А ЗАПИСЬ УЖЕ ДАВНО ТОБОЙ ЖЕ БЛОКИРОВАНА, в той приватной сессии. Вообще поищи по фокклубу или здесь по ключевым словам: "Buffering", "LOCK","TABLEUPDATE" ,Автор Максимов (да простят меня окружающие зубры фокса) например http://forum.foxclub.ru/read.php?f=5&i=92517&t=92375#reply_92517 потому что тема эта огромная Я тебе там подправила класс, в примере используется 5 буферизация(но с таблицей в данном случае лучше 3). То есть если кто-то тут же решит блокировать запись, по получит сообщение об ошибке 108,109 (которые тебе надо в обработчике ошибок обработать) Заметь, форма редактирования "берет" алиас из 1 формы(из DE), и работает с ним, а неоткрывает вторую копию как у тебя было Там много чего понаписано(для примера просто) и много чего не написано. Но поразбираться есть с чем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2004, 11:42 |
|
||
|
RLOCK - исправьте ошибку!!!
|
|||
|---|---|---|---|
|
#18+
спасибо сейчас буду разбираться... выходит, что придется просто отказаться от приватных датасессий... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2004, 11:06 |
|
||
|
RLOCK - исправьте ошибку!!!
|
|||
|---|---|---|---|
|
#18+
Ну ты наверно пока не отказывайся от приватных датасеесий :), ты почитай по фоксклубу чего про них пишут вообще скачай http://www.foxclub.ru/phoff/ очень удобно и поучительно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2004, 13:12 |
|
||
|
RLOCK - исправьте ошибку!!!
|
|||
|---|---|---|---|
|
#18+
Hi новичек___! > выходит, что придется просто отказаться от приватных датасессий... Странный вывод. Неправильный. Тебе надо отказаться от RLOCK и перейти на нормальную работу в режиме оптимистической буферизации. А вовсе не наоборот. Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2004, 02:12 |
|
||
|
RLOCK - исправьте ошибку!!!
|
|||
|---|---|---|---|
|
#18+
Это как рат то, что описал(а) _KAT_ в своем примере??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2004, 09:48 |
|
||
|
RLOCK - исправьте ошибку!!!
|
|||
|---|---|---|---|
|
#18+
Скажите, будьте добры.. переход на оптимистическую - это значит, к примеру в ините форм прописать =CursorSetProp('Buffering', 5, 'MyTable1') =CursorSetProp('Buffering', 5, 'MyTable2') . . . =CursorSetProp('Buffering', 5, 'MyTableN') и, потом TABLEUPDATE-ом закреплять изменения, с учетом кода Максимова, который привел(а) _КАТ_ в исправлениях к моему примеру??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2004, 09:52 |
|
||
|
RLOCK - исправьте ошибку!!!
|
|||
|---|---|---|---|
|
#18+
Скажите, будьте добры.. переход на оптимистическую - это значит, к примеру в ините форм прописать =CursorSetProp('Buffering', 5, 'MyTable1') =CursorSetProp('Buffering', 5, 'MyTable2') . . . =CursorSetProp('Buffering', 5, 'MyTableN') и, потом TABLEUPDATE-ом закреплять изменения, с учетом кода Максимова, который привел(а) _КАТ_ в исправлениях к моему примеру??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2004, 09:53 |
|
||
|
RLOCK - исправьте ошибку!!!
|
|||
|---|---|---|---|
|
#18+
Hi новичек___! Я не смотрел пример (в NNTP он лишь как линк, а без связи с инетом скачать это проблематично :) ), потому сказать по коду не могу. Но статьи Владимира должны тебе сильно помочь для понимания темы. Вникнув в саму ИДЕЮ буферизации, отложенной записи в реальную таблицу, блокировки лишь на момент записи, а не момент начала редкатирования, контроля возможных конфликтов совместного доступа (очень кстати древние идеи - ещё на FPD это делали через SCATTER/GATHER или временные таблицы для ввода данных) ты должен потом без труда написать код. Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2004, 01:11 |
|
||
|
RLOCK - исправьте ошибку!!!
|
|||
|---|---|---|---|
|
#18+
Ура все получилось... 1-я форма грид - по редактированию записи 2-я форма в которой init =cursorsetptop('Buffering', 5, 'MyTable') текстбоксы = полям таблицы и, далее tableupdate() или Tablerevert() с проверной ошибок.... Такой метод корректен, или текстбоксы для редактирования лучше сделать при поможи СКЛ выборки, а потом ими апдейтить таблицу Нет все же 1-й меод с тэйблАпдейт ИМХО лучше.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2004, 07:00 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32765972&tid=1595444]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 261ms |
| total: | 397ms |

| 0 / 0 |
