Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Многоаользовательская база на Foxe  [new]
Adminprio
Member

Откуда:
Сообщений: 3
Всем привет!
У меня вот такой вопрос чайника.
Можно на foxe написать прогу,
чтобы был доступ к базе (тоже fox)
3-5 пользователям.
Как на foxe решаются вопросы общего
доступа к файлам и т.д?
Может кто ссылочку по теме кинет?
Заранее благодарен!
2 сен 04, 11:41    [928469]     Ответить | Цитировать Сообщить модератору
 Re: Многоаользовательская база на Foxe  [new]
leaf
Member [заблокирован]

Откуда: Ростов-на-Дону --> Москва
Сообщений: 2661
ссылку дать не могу но вообще прогу написать конечно можно
во многих вопросах совместного использования фокс разбереться сам
конечно таблицы нужно открывать share а если возникнут проблеммы нужно использовать блокировки
2 сен 04, 11:57    [928596]     Ответить | Цитировать Сообщить модератору
 Re: Многоаользовательская база на Foxe  [new]
sar99
Member

Откуда: МАХАЧКАЛА
Сообщений: 117
РОД ПЕДДОК
VFP 6 РАЗРАБОТКА МНОГОПОЛЬЗОВАТЕЛЬСКИХ ПРИЛОЖЕНИЙ
ГЛАВА 8 - ЭТО КАК РАЗ ДЛЯ ТЕБЯ!

А ЕСЛИ НЕ ДОСТАНЕШЬ ЧИТАЙ В HELP:
БЛОКИРОВКИ - RLOCK(),FLOCK(),UNLOCK
БУФЕРИЗАЦИЯ - CURSORSETPROP(),TABLEUPDATE(),TABLEREVERT() И ПР.
ТРАНЗАКЦИИ - BEGIN TRANSACTION И ПР.
2 сен 04, 13:32    [929244]     Ответить | Цитировать Сообщить модератору
 Re: Многоаользовательская база на Foxe  [new]
FM32YO aka KID
Member

Откуда: Ukraine
Сообщений: 884
а не подскажете ли заодно.. в случае приватных датасессий блокировки не срабарывают?
ибо мне никак не удалось заблокировать запись.. или я что-то не так делаю?
таблици в датаэнвиронментах форм.. то есть
USE... shared таких команд и нету в коде...
а конструкция
IF RLOCK()
wait window "record is locked"
ELSE
...
ENDIF
никогда не возвращает занятость записи...
очень не хочется отходить от приватных датасессий (привычка блин...)
3 сен 04, 11:16    [932100]     Ответить | Цитировать Сообщить модератору
 Re: Многоаользовательская база на Foxe  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Почему? Все нормально работает. Прямо сейчас сделал формочку с Private DataSession и в INIT-формы написал код:

select MyTab
IF RLOCK()=.F.
MessageBox('Lock')
ENDIF

При открытии второго экземпляра формы получил сообщение о блокировании записи. Может ты разные записи блокируешь?
3 сен 04, 11:21    [932136]     Ответить | Цитировать Сообщить модератору
 Re: Многоаользовательская база на Foxe  [new]
FM32YO aka KID
Member

Откуда: Ukraine
Сообщений: 884
да что-то в этом есть

select Goods
IF RLOCK()=.F.
wait windows "locked"
ENDIF

только проджект на топ-левел формах.. и в случае запуска 2-го экземпляра форма от чего-то сообщение не появляется - а есть эффект зависания.. то есть пока в 1-м экземпляре форму не закроешь - во 2-м она не появляется...
как только 1-й экземпляр закрыл - 2-й выскакивает...
3 сен 04, 11:58    [932376]     Ответить | Цитировать Сообщить модератору
 Re: Многоаользовательская база на Foxe  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Ну так надо настроить

SET REPROCESS

По умолчанию, у тебя будет бесконечная попытка блокировки, пока пользователь не нажмет клавишу Esc или другой пользователь не снимет блокировку.

PS: Это не вопрос As Top-Level или In Screen - это идеология разрешения конфликтов совместного доступа. Private DataSession - это аналог совместного доступа нескольких пользователей.
3 сен 04, 12:59    [932763]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить