powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / совместная работа
8 сообщений из 8, страница 1 из 1
совместная работа
    #36738623
xvictor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть необходимость одновременно работать с файлами dbf Clipper из программы на Клиппере и в VFP
(В VFP только в режиме чтения)
Не поделиться ли кто-нибудь процедурой, которая в программе на VFP:
-определит, открыт ли файл программой на клиппере
-если открыт, то с определенной периодичностью будет пытаться его открыть и выдавать сообщение с запросом либо пытаться продолжать открыть dbf либо прекратить попытки
...
Рейтинг: 0 / 0
совместная работа
    #36738688
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xvictor, а может, просто не открывать файл в эксклюзивном режиме?
PS. я не знаю, умеет клиппер так делать или нет)
...
Рейтинг: 0 / 0
совместная работа
    #36738760
Olaf_K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Клиппер тоже умеет открывать дбф-файлы в разных режымах (exclusive or shared)

если клиппер открыл таблицу в Shared mode то проблем с доступом из Фокса не должно быть, ну может за исключением родных индексов клиппера (ntx), они Фоксом не поддерживаются ...
...
Рейтинг: 0 / 0
совместная работа
    #36738804
Olaf_K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если клиппер все-таки открывает таблицу в эксклюзивном режиме, то есть 2 варианта
1. Изменить программу на клиппере.
2. Открывать на фоксе таблицу . При открытии , естественно возникнет ошибка.
номер ошибки - 1705 . нужно написать обработчик ошибок (например: функция которая задана в команде ON ERROR ) на обработку этой ошибки так , как вам нужно .
...
Рейтинг: 0 / 0
совместная работа
    #36738891
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) При окрытии dbf из Clipper ВСЕГДА обнуляется кодовая страница в заголовке файла. Поэтому, при попытке открыть этот dbf из VFP фокс выдаст запрос на кодовую страницу.
2) Само собой индексы фокса (idx/cdx) несовместимы с индексами Clipper (ntx) .
3) У фокса и Clipper совершенно разные механизмы блокировки dbf (LOCK, RLOCK...). Файл, заблокированный клиппером, будет из VFP счиаться незаблокированным.
...
Рейтинг: 0 / 0
совместная работа
    #36738937
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
reware1) При окрытии dbf из Clipper ВСЕГДА обнуляется кодовая страница в заголовке файла. Поэтому, при попытке открыть этот dbf из VFP фокс выдаст запрос на кодовую страницу.
SET CPDIALOG OFF и не будет никаких вопросов, только появятся проблемы с неправильной кодировкой.

Если клиппер открывает таблицы монопольно, то тогда надо их копировать и с копиями работать, т.к. в фоксе откроешь - клиппер работать перестанет.
Если клиппер в сетевом режиме работает, то
Код: plaintext
use ClipperTable shared
и то только для чтения, т.к. если фокс чего-то поправит, то у клиппера индексы могут перестать соответcтвовать данным.

ошибки можно ловить через TRY ... CATCH
Код: plaintext
1.
2.
3.
4.
TRY
   use ClipperTable shared
CATCH
  ? 'Не открылась ClipperTable'
ENDTRY
...
Рейтинг: 0 / 0
совместная работа
    #36739044
Olaf_K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
reware
3) У фокса и Clipper совершенно разные механизмы блокировки dbf (LOCK, RLOCK...). Файл, заблокированный клиппером, будет из VFP счиаться незаблокированным.

По этому пункту проверил - файл , открытый клиппером (CA-Clipper 5.3d) в в эксклюзивном режиме, Фокс (VFP 8) открыть не может .

По кодовой странице - диалог на установку в таблице кодовой страницы Фокс предлагает только при открытии таблицы в Exclusive Mode
...
Рейтинг: 0 / 0
совместная работа
    #36739160
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Olaf_Kreware
3) У фокса и Clipper совершенно разные механизмы блокировки dbf (LOCK, RLOCK...). Файл, заблокированный клиппером, будет из VFP счиаться незаблокированным.

По этому пункту проверил - файл , открытый клиппером (CA-Clipper 5.3d) в в эксклюзивном режиме, Фокс (VFP 8) открыть не может .

Открытие Exclusive и FLOCK()/RLOCK() - две большие разницы.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / совместная работа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]