Закрытие DBFIII

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
SSTA
Бывалый
Сообщения: 52
Зарегистрирован: 03 Февраль 2006, 5:41
Откуда: Хабаровск

Закрытие DBFIII

Сообщение SSTA »

Здравствуйте.
CW6.3 ABC
Манипуляции в DBFIII файлом: показываю в листбоксе, потом по кнопке закрываю, меняю путь и снова открываю. Проблема: на закрытии выдаёт "Entry Not Found', закрытия естественно не происходит. Чего там может быть?
Спасибо.
C уважением, Александр Т.
Аватара пользователя
Admin
Администратор
Сообщения: 4010
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 53 раза
Поблагодарили: 33 раза
Контактная информация:

Re: Закрытие DBFIII

Сообщение Admin »

Ну вот тестовый пример сделал. Все работает.
Закрываем бровз. Меняем имя файла и вперед, дальше ...
В чем траблы?
Вложения
test.zip
Тест с закрытием DBF файла
(14.3 КБ) 258 скачиваний
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
SSTA
Бывалый
Сообщения: 52
Зарегистрирован: 03 Февраль 2006, 5:41
Откуда: Хабаровск

Re: Закрытие DBFIII

Сообщение SSTA »

Хотел сделать не закрывая browse? то есть в этом же окне
C уважением, Александр Т.
Аватара пользователя
Олег
Ветеран движения
Сообщения: 122
Зарегистрирован: 16 Июль 2005, 2:35
Откуда: Москва
Контактная информация:

Re: Закрытие DBFIII

Сообщение Олег »

SSTA писал(а):Хотел сделать не закрывая browse? то есть в этом же окне
А пример можно? Как закрываешь файл? Что при этом делаешь с открытым View бровза?
По правильному, если не хочешь закрывать окно бровза, надо сначала закрыть View бровза,
после этого закрыть бровзе-файл, поменять имя файла, открыть бровз-файл и открыть
заново View бровза. При этом, лучше всего, закрывать/открывать бровз-файл методами
ABC-либы, что-бы менеджер файлов учел новые изменения.
Кстати, а как меняешь имя файла? Через переменную в NAME() или через PROP:Name?
И еще - могут быть проблемы с корректной работой с новым файлом - могут идти данные
реально из предыдущего файла. Поэтому, рекомендую ПОСЛЕ закрытия бровз-файла
"сбросить" внутренние буфера файловой структуры - см. соответствующую тему в ClaList.
SSTA
Бывалый
Сообщения: 52
Зарегистрирован: 03 Февраль 2006, 5:41
Откуда: Хабаровск

Re: Закрытие DBFIII

Сообщение SSTA »

FilePath = OldPath
Relate:File.Open
.
.
?Button:Accepted
Relate:File.close

FilePath = NewPath

Relate:File.Open
---------------------------
Правда, ситуация разрешилась, за давностью не вспомню как, но удалось добиться без закрытия View
Спасибо
C уважением, Александр Т.
Аватара пользователя
Олег
Ветеран движения
Сообщения: 122
Зарегистрирован: 16 Июль 2005, 2:35
Откуда: Москва
Контактная информация:

Re: Закрытие DBFIII

Сообщение Олег »

SSTA писал(а):Правда, ситуация разрешилась, за давностью не вспомню как, но удалось добиться без закрытия View
Спасибо
Извини, но без закрытия View не получится НОРМАЛЬНОГО переключения! Ведь View представляет собой некий виртуальный файл, КАЖДАЯ запись которого ссылается на запись Primary/Secondary файла. Кроме этого View хранит и текущую последовательность обхода записей Primary-файла. После простой подмены Primary/Secondary файла БЕЗ переинициализации View ты практически гарантированно получишь НЕВЕРНЫЙ результат просмотра новых файлов! Причем, с первого взгляда, ты вряд-ли поймешь это! Просто View покажет тебе новый файл не с первой записи или покажет не все записи. Более того, часть данных из Secondary-файлов будет выведена не из тех записей, которые нужны! Да и при редактировании записей такого View ты вполне можешь изменить/удалить совершенно не ту запись, которую видишь в данный момент в бровзе!
SSTA
Бывалый
Сообщения: 52
Зарегистрирован: 03 Февраль 2006, 5:41
Откуда: Хабаровск

Re: Закрытие DBFIII

Сообщение SSTA »

Спасибо за подробный ответ, буду делать аккуратнее.
C уважением, Александр Т.
Ответить