Как обновить список записей в броузе из другого файла?

Clarion, Clarion 7

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Илья Пащенко
Новичок
Сообщения: 10
Зарегистрирован: 12 Февраль 2007, 14:23
Откуда: Екатеринбург

Как обновить список записей в броузе из другого файла?

Сообщение Илья Пащенко »

Обстановка - C6EE/ABC. Программа работает с несколькими базами данных (наборами файлов). В каталоге выбирается папка, после этого именам файлов присваивается путь до этой папки.

Главное окно программы - список записей файла. Каталог вызывается кнопкой из этого окна. После выбора папки в окне каталога переопределяю имена файлов, и надо перечитать записи в главном окне (из нового файла). Что-то не могу... :-(

Cash - основной файл (в окне-списке), Payers и Paytypes - связанные.
Пишу вот так:

Код: Выделить всё

Relate:Cash.Close
Relate:Payers.Close
Relate:Paytypes.Close
DO DefineFiles   ! Здесь переопределяются имена файлов
Relate:Cash.SetOpenRelated()
Relate:Cash.Open
Relate:Payers.Open
Relate:Paytypes.Open
SELF.FilesOpened = True
BRW1.ResetFromFile
BRW1.ResetQueue(Reset:Queue)
BRW1.PostNewSelection
Но записи из другого файла не перечитываются, в окне остаются записи предыдущего файла.
Поможите, люди добрые. :-)
С уважением, Илья.
Аватара пользователя
Tolusha
Активист
Сообщения: 123
Зарегистрирован: 11 Январь 2006, 16:50
Откуда: Украина, г. Черкассы
Контактная информация:

Сообщение Tolusha »

Скорее файл остается открытым. Поэтом переопределение имени файла не происходит. Я делаю примерно так:

Код: Выделить всё

st# = Status(MyFile)
if st#; Close(MyFile).
MyFile{prop:name} = NewName
if st#; Open(MyFile, st#)
Анатолий.
Илья Пащенко
Новичок
Сообщения: 10
Зарегистрирован: 12 Февраль 2007, 14:23
Откуда: Екатеринбург

Сообщение Илья Пащенко »

Точно, не были закрыты файлы.

Стал закрывать через CLOSE(file) и открывать затем через SHARE(file), заработало. Но непонятно, почему не удавалось через методы Relate.
С уважением, Илья.
Аватара пользователя
Tolusha
Активист
Сообщения: 123
Зарегистрирован: 11 Январь 2006, 16:50
Откуда: Украина, г. Черкассы
Контактная информация:

Сообщение Tolusha »

RTFM
Анатолий.
Илья Пащенко
Новичок
Сообщения: 10
Зарегистрирован: 12 Февраль 2007, 14:23
Откуда: Екатеринбург

Сообщение Илья Пащенко »

Tolusha писал(а):RTFM
Это-то понятно, что в доке всё есть. :D
А ткнуть в конкретное место можно? :shock:
С уважением, Илья.
Аватара пользователя
Tolusha
Активист
Сообщения: 123
Зарегистрирован: 11 Январь 2006, 16:50
Откуда: Украина, г. Черкассы
Контактная информация:

Сообщение Tolusha »

Топик: CLOSE: RelationManagerClass
Анатолий.
lsgsoftware
Ветеран
Сообщения: 311
Зарегистрирован: 08 Июль 2005, 22:04

Сообщение lsgsoftware »

Что-то я не понял.Ведь бровз - это структурированная штука с размеченными полями.Если бровз сделан для одного файла, то вызов другого файла все перекосит.Такое возможно, если в бровзе всего одно поле или если файлы имеют одинаковую структуру.Если так, то выводи в бровзе не записи файла, а локальные переменные, в которые заталкивются данные в точке Validate record - и работай хоть с сотней файлов
Ответить