Здравствуйте.
CW6.3 ABC
Манипуляции в DBFIII файлом: показываю в листбоксе, потом по кнопке закрываю, меняю путь и снова открываю. Проблема: на закрытии выдаёт "Entry Not Found', закрытия естественно не происходит. Чего там может быть?
Спасибо.
Закрытие DBFIII
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Admin
- Администратор
- Сообщения: 4010
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 53 раза
- Поблагодарили: 33 раза
- Контактная информация:
Re: Закрытие DBFIII
Ну вот тестовый пример сделал. Все работает.
Закрываем бровз. Меняем имя файла и вперед, дальше ...
В чем траблы?
Закрываем бровз. Меняем имя файла и вперед, дальше ...
В чем траблы?
- Вложения
-
- test.zip
- Тест с закрытием DBF файла
- (14.3 КБ) 255 скачиваний
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Re: Закрытие DBFIII
Хотел сделать не закрывая browse? то есть в этом же окне
C уважением, Александр Т.
- Олег
- Ветеран движения
- Сообщения: 122
- Зарегистрирован: 16 Июль 2005, 2:35
- Откуда: Москва
- Контактная информация:
Re: Закрытие DBFIII
А пример можно? Как закрываешь файл? Что при этом делаешь с открытым View бровза?SSTA писал(а):Хотел сделать не закрывая browse? то есть в этом же окне
По правильному, если не хочешь закрывать окно бровза, надо сначала закрыть View бровза,
после этого закрыть бровзе-файл, поменять имя файла, открыть бровз-файл и открыть
заново View бровза. При этом, лучше всего, закрывать/открывать бровз-файл методами
ABC-либы, что-бы менеджер файлов учел новые изменения.
Кстати, а как меняешь имя файла? Через переменную в NAME() или через PROP:Name?
И еще - могут быть проблемы с корректной работой с новым файлом - могут идти данные
реально из предыдущего файла. Поэтому, рекомендую ПОСЛЕ закрытия бровз-файла
"сбросить" внутренние буфера файловой структуры - см. соответствующую тему в ClaList.
Re: Закрытие DBFIII
FilePath = OldPath
Relate:File.Open
.
.
?Button:Accepted
Relate:File.close
FilePath = NewPath
Relate:File.Open
---------------------------
Правда, ситуация разрешилась, за давностью не вспомню как, но удалось добиться без закрытия View
Спасибо
Relate:File.Open
.
.
?Button:Accepted
Relate:File.close
FilePath = NewPath
Relate:File.Open
---------------------------
Правда, ситуация разрешилась, за давностью не вспомню как, но удалось добиться без закрытия View
Спасибо
C уважением, Александр Т.
- Олег
- Ветеран движения
- Сообщения: 122
- Зарегистрирован: 16 Июль 2005, 2:35
- Откуда: Москва
- Контактная информация:
Re: Закрытие DBFIII
Извини, но без закрытия View не получится НОРМАЛЬНОГО переключения! Ведь View представляет собой некий виртуальный файл, КАЖДАЯ запись которого ссылается на запись Primary/Secondary файла. Кроме этого View хранит и текущую последовательность обхода записей Primary-файла. После простой подмены Primary/Secondary файла БЕЗ переинициализации View ты практически гарантированно получишь НЕВЕРНЫЙ результат просмотра новых файлов! Причем, с первого взгляда, ты вряд-ли поймешь это! Просто View покажет тебе новый файл не с первой записи или покажет не все записи. Более того, часть данных из Secondary-файлов будет выведена не из тех записей, которые нужны! Да и при редактировании записей такого View ты вполне можешь изменить/удалить совершенно не ту запись, которую видишь в данный момент в бровзе!SSTA писал(а):Правда, ситуация разрешилась, за давностью не вспомню как, но удалось добиться без закрытия View
Спасибо