Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 ADIR не видит файлы .BAK  [new]
MaestroEv
Member

Откуда: г.Благовещенск
Сообщений: 269
Исправляем AAA.PRG получается AAA.BAK. Снаружи AAA.BAK видим проводником - он есть. Открывается. Никем не занят.
В фоксе все файлы закрыты. Пытаемся увидеть его из фокса.
?ADIR(ARRAYNIK,DISK+"PRG\*.BAK") его не видит. Даже если попробуем FILE(DISK+"PRG\AAA.BAK") - то тоже не видит.
Если выйдем из фокса и вернемся - видит.

Какие мысли будут?
28 ноя 11, 08:36    [11668681]     Ответить | Цитировать Сообщить модератору
 Re: ADIR не видит файлы .BAK  [new]
sqlnew
Member

Откуда:
Сообщений: 801
MaestroEv,

А в переменной DISK есть в конце ":\" ?
Иначе путь будет неправильный
28 ноя 11, 09:07    [11668710]     Ответить | Цитировать Сообщить модератору
 Re: ADIR не видит файлы .BAK  [new]
Banditos
Member

Откуда:
Сообщений: 88
sqlnew,

А другие файлы фокс видит?
Кста, случаем, не по сети ли щемимся?

Потому что в фоксе команда
ADIR(aTmp, "*.bak")
работает на ура.

Поэтому лучше для начала убедиться, что файлы вообще видно - хоть какие-нибудь.
28 ноя 11, 15:04    [11671471]     Ответить | Цитировать Сообщить модератору
 Re: ADIR не видит файлы .BAK  [new]
sqlnew
Member

Откуда:
Сообщений: 801
Banditos,

Вроде, про маски и шаблоны у автора ничего нет. Вроде, путь указан...
;-)
28 ноя 11, 16:37    [11672573]     Ответить | Цитировать Сообщить модератору
 Re: ADIR не видит файлы .BAK  [new]
sqlnew
Member

Откуда:
Сообщений: 801
Имею ввиду шаблон пути, а не файлов, ессно.
28 ноя 11, 16:38    [11672592]     Ответить | Цитировать Сообщить модератору
 Re: ADIR не видит файлы .BAK  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Вообще-то, надо бы было привести содержимое переменной DISK, поскольку, как уже заметил sqlnew у нее может не быть завершающего слеша. Обычно в таких случаях пишут примерно так

?ADIR(ARRAYNIK,AddBS(DISK)+"PRG\*.BAK") 

А для гарантии, неплохо бы убедится, что путь доступа указан корректно

?Directory(AddBS(DISK) + "PRG\")
28 ноя 11, 16:45    [11672699]     Ответить | Цитировать Сообщить модератору
 Re: ADIR не видит файлы .BAK  [new]
MaestroEv
Member

Откуда: г.Благовещенск
Сообщений: 269
disk="f:\alg_soft\" .

Написал же что если выйти и зайти то все нормально видит. Не видит именно в этой сессии. Снаружи файл есть и читается (не занят) . Фокс как будто не обновляет список файлов, или не сбрасывает буфера или еще не пойму чего. Кстати можете легко у себя попробовать. Исправьте любой PRG файлик и поищите BAK от него.
29 ноя 11, 05:47    [11675161]     Ответить | Цитировать Сообщить модератору
 Re: ADIR не видит файлы .BAK  [new]
проходящий.
Guest
MaestroEv
disk="f:\alg_soft\" .

Написал же что если выйти и зайти то все нормально видит. Не видит именно в этой сессии. Снаружи файл есть и читается (не занят) . Фокс как будто не обновляет список файлов, или не сбрасывает буфера или еще не пойму чего.
Какие еще буфера? Да еще и со сбросом. Список файлов дает операционная система. Или Вы наивно верите, что фокс сам лазает по каталогам в поисках файлов?
Кстати можете легко у себя попробовать. Исправьте любой PRG файлик и поищите BAK от него.
Не можем. Находит.
29 ноя 11, 09:49    [11675525]     Ответить | Цитировать Сообщить модератору
 Re: ADIR не видит файлы .BAK  [new]
sqlnew
Member

Откуда:
Сообщений: 801
До меня, кажется дошло. Если я правильно понял, команда ADIR не запускается повторно после появления файлов BAK. Соответственно и не обновляется массив имен файлов. Другого варианта не вижу.
29 ноя 11, 10:12    [11675627]     Ответить | Цитировать Сообщить модератору
 Re: ADIR не видит файлы .BAK  [new]
Dima T
Member

Откуда:
Сообщений: 15271
sqlnew
До меня, кажется дошло. Если я правильно понял, команда ADIR не запускается повторно после появления файлов BAK. Соответственно и не обновляется массив имен файлов. Другого варианта не вижу.

Команда ADIR() запускается тогда когда ты ее запускаешь, как и любая другая команда.
И сохраняет в массив все файлы существующие на момент запуска и подходящие по маске.

Чудес не бывает, фокс сам ничего не делает в фоновом режиме.
29 ноя 11, 10:36    [11675747]     Ответить | Цитировать Сообщить модератору
 Re: ADIR не видит файлы .BAK  [new]
sqlnew
Member

Откуда:
Сообщений: 801
Dima T,

И я, вроде, о том же автору...
29 ноя 11, 10:54    [11675861]     Ответить | Цитировать Сообщить модератору
 Re: ADIR не видит файлы .BAK  [new]
sqlnew
Member

Откуда:
Сообщений: 801
Я имею ввиду, что в программе не запускается заново ADIR после обновления списка файлов. Нужен повторный запуск.
29 ноя 11, 10:56    [11675872]     Ответить | Цитировать Сообщить модератору
 Re: ADIR не видит файлы .BAK  [new]
MaestroEv
Member

Откуда: г.Благовещенск
Сообщений: 269
Идея в том чтобы файлы после исправления компилировать и закидывать в нужную директорию.
После редактирования файла PRG из окна COMMAND запускаю файлик
do cc

Этот модуль при запуске иногда не видит BAK файлы.

DISK_HARD-глобален d:\ALG_SOFT\
DISK -глобален d:\ALG_SOFT\

----------------------------- С СОКРАЩЕНИЯМИ
Function cc
LOCAL M.FILENAME,M.FIL,M.EXT,M.KKK,M.II
LOCAL ARRAY AR_PRG(1)
M.KKK=ADIR(AR_PRG,DISK+"PRG\*.BAK")
FOR M.II=1 TO M.KKK
** работа
NEXT
WAIT CLEAR
-------------------------------
M.KKK - иногда 0 хотя файлы есть.
6 дек 11, 09:00    [11711006]     Ответить | Цитировать Сообщить модератору
 Re: ADIR не видит файлы .BAK  [new]
Dima T
Member

Откуда:
Сообщений: 15271
MaestroEv, зайди в меню Tools - Options - вкладка IDE
сними галку Make Backup и нажми "Save as default"
6 дек 11, 09:52    [11711162]     Ответить | Цитировать Сообщить модератору
 Re: ADIR не видит файлы .BAK  [new]
MaestroEv
Member

Откуда: г.Благовещенск
Сообщений: 269
Ну четко. Если у меня ADIR перестанет искать файлы DBF - совет будет стереть файлы DBF?

Типа если нет файлов то и нет проблем?

Мне нужны BAK файлы, по ним я точно знаю, что было изменения одноименного модуля.
Вопрос лишь в том почему BAK файлы иногда не видит ADIR, пока не перезапустишь фокс.
6 дек 11, 19:03    [11716095]     Ответить | Цитировать Сообщить модератору
 Re: ADIR не видит файлы .BAK  [new]
Redrik
Member

Откуда:
Сообщений: 808
Эх! Называется проводим время и работаем так, чтобы не было мучительно больно...? :)
А не может "DISK" где-то успеть поменяться?
6 дек 11, 22:10    [11717316]     Ответить | Цитировать Сообщить модератору
 Re: ADIR не видит файлы .BAK  [new]
MaestroEv
Member

Откуда: г.Благовещенск
Сообщений: 269
Нет. Понаставил кучу проверок WAIT WIND "" - везде есть имя файла и оно верное. Фокс файлики с именем никакими средствами не видит, пока не выйдешь и не зайдешь вновь. Касается только BАК-файлов. С остальными все ровно.

Эх! Называется проводим время и работаем так, чтобы не было мучительно больно...? :)
Это о чем?

Проект большой , модули делаются в одном городе , пересылаются роботами по инету в другие города, там уже складываются в программу. Передавать всю программу - долго, ну может счас уже и не очень, но начато все было 10 лет назад.
Вот и приходится как-то автоматически компилировать, фокс мало дал вариантов для работы с командой COMPILE.

Меняб устроило COMPILE (папка) to (папка) FOR DATE BETWEEN M.DAT1,M.DAT2 DEBUG

:)
7 дек 11, 05:28    [11718470]     Ответить | Цитировать Сообщить модератору
 Re: ADIR не видит файлы .BAK  [new]
Dima T
Member

Откуда:
Сообщений: 15271
MaestroEv
Ну четко. Если у меня ADIR перестанет искать файлы DBF - совет будет стереть файлы DBF?

Типа если нет файлов то и нет проблем?

Мне нужны BAK файлы, по ним я точно знаю, что было изменения одноименного модуля.
Вопрос лишь в том почему BAK файлы иногда не видит ADIR, пока не перезапустишь фокс.

Так бы сразу и сказал, а то выше сложилось впечатление что тебе файлы эти просто жить мешают

У меня с ADIR() проблем никогда не было и все что ты пишешь - абсурд какой-то, поэтому единственное здравое объяснение что проблема с руками.

Второе объяснение - косяк фокса, если так, попробуй сделать простой пример проекта и выложи сюда с инструкцией типа "нажмите тут и тут и смотрите косяк".

Пиши лог.

Попробуй запустить вторую копию фокса и запустить свой код из нее. или собери из своего кода EXE и его запускай.
7 дек 11, 07:50    [11718534]     Ответить | Цитировать Сообщить модератору
 Re: ADIR не видит файлы .BAK  [new]
MaestroEv
Member

Откуда: г.Благовещенск
Сообщений: 269
Инструкция. Отлаживаете какой-нить модуль. Запускаете. Ошибка. Выскакивает окно с програмным кодом. Правите. Сохраняете. Запускаете под ногами другой модуль в котором пытаетесь по появившемуся BAK файлу откомпилировать его одноименный PRG файл и отправить на сервер PRG и FXP и удалить BAK. Все. Этот модуль не всегда видит BAK файлы. Приходится ручакми компилить и копировать и удалять.
14 дек 11, 17:11    [11766070]     Ответить | Цитировать Сообщить модератору
 Re: ADIR не видит файлы .BAK  [new]
Dima T
Member

Откуда:
Сообщений: 15271
MaestroEv
Инструкция. Отлаживаете какой-нить модуль. Запускаете. Ошибка. Выскакивает окно с програмным кодом. Правите. Сохраняете. Запускаете под ногами другой модуль в котором пытаетесь по появившемуся BAK файлу откомпилировать его одноименный PRG файл и отправить на сервер PRG и FXP и удалить BAK. Все. Этот модуль не всегда видит BAK файлы. Приходится ручакми компилить и копировать и удалять.

Попробовал - нет ошибки, свежий BAK виден в ADIR(). У меня VFP9 SP2

Но вполне вероятно что косяк есть и как-то связан с использованием отладчика. PRG мало использую, в основном VCX, там регулярно наблюдаю такое:
Есть форма созданная на основе класса, тот на основе еще одного класса.
Если при инициализации формы происходит ошибка, запускается отладчик, и далее код в Init() перестает исполнятся. Первый раз когда столкнулся - чуть мозг не взорвался, часа три косяк в коде искал пока фокс не перезапустил. Сейчас привык, сразу фокс перезапускаю.
15 дек 11, 07:19    [11768477]     Ответить | Цитировать Сообщить модератору
 Re: ADIR не видит файлы .BAK  [new]
MaestroEv
Member

Откуда: г.Благовещенск
Сообщений: 269
///Но вполне вероятно что косяк есть и как-то связан с использованием отладчика. PRG мало использую, в основном VCX, там регулярно наблюдаю такое:
Есть форма созданная на основе класса, тот на основе еще одного класса.
Если при инициализации формы происходит ошибка, запускается отладчик, и далее код в Init() перестает исполнятся. Первый раз когда столкнулся - чуть мозг не взорвался, часа три косяк в коде искал пока фокс не перезапустил. Сейчас привык, сразу фокс перезапускаю. ////

Да еще при ошибке в форме при закрытии не сохраняются изменения. При закрытия и запуске формы без ошибки, иногда запускается старый (предыдущий) код формы.

Ну похоже и мой Баг из этой же оперы.. :)
15 дек 11, 08:47    [11768607]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить