Здравствуйте.
CW 6.1 ABC TPS
Имеется обычный Browse. Необходимо вызвать другой, полностью аналогичный Browse, но по данным из другого места. Для этого: вызываю текстовую программку, которая закрывает все файлы, переустанавливает пути и по новой их открывает (открытие/закрытие средствами source-темплейта). Проблема: новые пути не хотят устанавливаться. Как объехать?
Подмена путей к данным
Clarion, Clarion 7
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
SSTA
Re: Подмена путей к данным
Скорее всего, никак... Дело в том, что закрытие файла средствами ABC только уменьшает счётчик открытий. И только если он равен 0, произойдёт реальное закрытие. Попробуй создать алиас основного файла и сделай второй Browse по алиасу.SSTA писал(а):Здравствуйте.
CW 6.1 ABC TPS
Имеется обычный Browse. Необходимо вызвать другой, полностью аналогичный Browse, но по данным из другого места. Для этого: вызываю текстовую программку, которая закрывает все файлы, переустанавливает пути и по новой их открывает (открытие/закрытие средствами source-темплейта). Проблема: новые пути не хотят устанавливаться. Как объехать?
Yufil
StillZero
Так здесь вроде речь идёт об одном потоке... Если в разных потоках, то всё совершенно элементарно - вводи переменное имя файла и устанавливай перед открытием...StillZero писал(а):не согласенСкорее всего, никак
в C6.х это как раз на раз два
в методе Init WindowManager-а, перед открытием файлов (OpenFiles)пишем
MyFile{Prop:Name} = 'мой путь' и все
единственно, что при файл MyFile должен быть объявлен с атрибутом THREAD и запускаться эти браузы должны в разных потоках.
Yufil
SSTA
Интересно, а такой метод корректный?:
loop
Access:MyFile.Close
if errorcode() then break.
.
Надо If Access:MyFile.Close() Then Break.
......
Переустановка имен
......
Access:MyFile.Open
Access:MyFile.UseFile
А потом ABC-классы будут ругаться на неоткрытый файл или на непредусмотренное закрытие. Всё-таки с алиасом покорректнее
loop
Access:MyFile.Close
if errorcode() then break.
.
Надо If Access:MyFile.Close() Then Break.
......
Переустановка имен
......
Access:MyFile.Open
Access:MyFile.UseFile
А потом ABC-классы будут ругаться на неоткрытый файл или на непредусмотренное закрытие. Всё-таки с алиасом покорректнее
Yufil
Вернуться в «CLARION for Windows»
Перейти
- CW
- ↳ CLARION for Windows
- ↳ CLARION for Internet
- ↳ Clarion.NET
- Эксклюзив
- ↳ Приват
- CLARION и...
- ↳ Reports
- ↳ Железо
- ↳ Готовые программы, шаблоны, библиотеки...
- ↳ cJSON
- ↳ LibCurl
- ↳ MAV
- ↳ SQL, Oracle, ...
- ↳ Multi-программирование(Pascal/Delphi, и т.д.)
- ↳ WinDev
- DOS
- ↳ CLARION for DOS
- Разное
- ↳ Новости
- ↳ English
- ↳ Ресурсы
- ↳ Работа
- ↳ Обо всем ...
- ↳ Обсуждение этого Форума (типа, Гостевая книга)