при print report меняется путь для программы | |
---|---|
axeum Сообщений: 119 Дата регистрации: 07.07.2020 |
Добрый день, нужной темы не нашел поэтому создаю с вопросом, при выполнении report form в любом месте программы, не важно был ли отправлен документ в дальнейшем на печать или просто закрыт(не важно какой репорт был запущен результат будет одним), программа начинает обращаться к c:\users\user\desktop и именно там искать нужные таблицы, мне подсказали что можно переустановить драйвер принтера и может помочь но мне не помогло, может кто сталкивался с подобным?
в программе есть функция setpath() которая как раз и определяет пути для программы где искать файлы, но репортов много и везде его прописывать как то странно + проблема не массовая, а только у 1 клиента
|
Re: при print report меняется путь для программы | |
---|---|
danton1973 Сообщений: 158 Откуда: Пермь Дата регистрации: 10.08.2020 |
1. Советую имена форм и отчётов вызывать с расширением: DO FORM FORM.SCX REPORT FORM REPORT.FRX
2. В файле config прописываем пути в каталогам с данными, картинками, и т.д. При запуске считываем и SET PATH (path) ADDITIVE 3. Если не поможет, то вызывать файлы через функцию FindFile:
|
Re: при print report меняется путь для программы | |
---|---|
axeum Сообщений: 119 Дата регистрации: 07.07.2020 |
ну путь не в конфиге прописан, но при запуске он в set path прописывается, получается при открытия репортов в программе сбивается весь SET PATH, тогда возникает вопрос а почему при открытие репорта set path вообще изменяется? я все же думал что в принтерах проблема, оба отключили от системника но проблема осталась, получается проблема в самом открытии репорта?
|
Re: при print report меняется путь для программы | |
---|---|
Владимир Максимов Сообщений: 14120 Откуда: Москва Дата регистрации: 02.09.2000 |
Если проблема с одним отчетом, очевидно, что дело именно в этом конкретном отчете, а не "вообще" В отчете можно писать программный код. Вот и посмотрите, какой именно код у Вас в отчете есть. Там очень много мест, где это можно сделать В принципе, можно попробовать открыть файл мемо-полей отчета FRT в блокноте как текстовый файл и поискать вызов функций. Без гарантий, конечно, но что-то можно найти В самом худшем случае придется делать отчет с нуля. Перенести один объект, вызвать отчет, проверить пути доступа. Если все хорошо, переносишь другой объект, вызвать отчет, проверить пути доступа. И т.п. |
Re: при print report меняется путь для программы | |
---|---|
axeum Сообщений: 119 Дата регистрации: 07.07.2020 |
если б была проблема в 1 конкретном отчете то тут хотя бы понятно где искать(ну точнее хотя бы направление есть), а получается что любой вызов репорта ломает пути в программе, была идея добавить setpath() сразу после report я так собсно и сделал но это на 1 кнопке и таких кнопок не одна и как временное решение оно конечно подошло, но вылез другой нюанс что таких репортов в программе много и в каждом писать это много времени займет, да и как то не правильно что после каждого репорта надо заново SET PATH по сути прописывать
|
Re: при print report меняется путь для программы | |
---|---|
sphinx Сообщений: 31607 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Нет у меня процедуры, подобной SetPath(), пути в головном модуле один раз прописал - и все работает. Если отчеты похожие, но есть различия - так под разными именами сохранить. ------------------ "Veni, vidi, vici!"(с) |
Re: при print report меняется путь для программы | |
---|---|
Владимир Максимов Сообщений: 14120 Откуда: Москва Дата регистрации: 02.09.2000 |
Не помню, чтобы на этом форуме подобный вопрос поднимался. Скорее всего, в вашем приложении реализован некий FrameWork (классы, методы, функции), который при запуске отчетов меняет или директорию по умолчанию или пути доступа. Т.е. ищите почему это происходит конкретно у Вас. Ищите, что именно (какая команда) "сбивает" пути доступа
Что может меняться? SET DEFAULT - это директория по умолчанию, относительно которой и выполняется поиск всех путей, указанных в SET PATH У Вас может быт реализован вызов этой команды напрямую (например, чтобы временные файлы для отчета куда-то класть). Также есть ряд функций, которые могут эту директорию поменять. Обычно это какие-то функции по работе с путями доступа, вроде putFile(). Вызов таких функций надо окружать "скобками" для восстановления исходного состояния Собственно, и SET PATH также может быть у Вас вызван где-то при вызове отчетов... Т.е. я считаю, что это не проблема вызова отчета "вообще", а проблема реализации Вашего FrameWork по работе с отчетами. Ищите ошибку у себя. Точнее, это не ошибка, а какая-то особенность. PS: Если сделаете "чистый" отчет (Report) без использования каких-либо Ваших функций, проблема воспроизводится? Т.е. просто курсор на пару строк и по нему Report |
Re: при print report меняется путь для программы | |
---|---|
axeum Сообщений: 119 Дата регистрации: 07.07.2020 |
я был бы согласен что проблема может быть в самих отчетах, но есть нюанс такой клиент с такой ошибкой только 1 , у всех остальных все отчеты работают как часы, да и у меня никогда такой проблемы в проекте не возникало, сколько сейчас не пытался получить такую же проблему не получилось я сделал мини отчет с 5 полями и курсором для проверки, правда жалко что завтра только смогу проверить его у клиента |
Re: при print report меняется путь для программы | |
---|---|
Владимир Максимов Сообщений: 14120 Откуда: Москва Дата регистрации: 02.09.2000 |
Какие отличия могут быть у клиента?
1. Драйвер принтера 2. Антивирус 3. Сетевые пути доступа (путь доступа на не существующий ресурс или затрудненный доступ к ресурсу) 4. Другой Config.fpw со своими настройками SET PATH, SET DEFAULT (если используется свой файл конфигурации, то посмотреть свой файл) 5. Переменная PATH в операционной системе 6. Старая версия приложения Т.е. можно предположить, что при выполнении отчета произошла какая-то ошибка в результате которой все ранее настроенные пути доступа были сброшены и далее используются пути доступа по умолчанию |
Re: при print report меняется путь для программы | |
---|---|
leonid Сообщений: 3222 Откуда: Рига Дата регистрации: 03.02.2006 |
Что-то мне помнится, что лет 25-30 назад я с такой проблемой встречался. Сейчас посмотрел, в классе кнопки для печати в начале запоминается set default, а в конце восстанавливается. Насколько я помню, это было связано с принтерами, которые записывали в файл, типа pdf, и давали выбрать путь, куда записать. При этом открывается окно для выбора файла, и если там поменять директорию, то set default тоже менялся со всеми вытекающими отсюда последствиями.
|
Re: при print report меняется путь для программы | |
---|---|
WbrErr Сообщений: 1961 Дата регистрации: 05.12.2006 |
В properties Report-а флажок "Save printer environment" включен/выключен?
|
Re: при print report меняется путь для программы | |
---|---|
axeum Сообщений: 119 Дата регистрации: 07.07.2020 |
выключен
1. там 2 принтера, для каждого поставил драйвер результата 0, пробовал оба принтера отключить и без них попробовать, результат - тот же 2. касперский есть, пробовал его отключить и перезапустить комп(касперский при включении был выключен) результат - тот же, пробовал вообще всю защиту винды вместе с касперским отключить и на всякий перезагрузил комп, результат - тот же 3.программа локальная на C стоит(банальный путь C:\jkx), все принтеры подключены именно к этому компьютеру тоже локально 4.конфиг один для всех без каких либо изменений, сверил его со своим они одинаковые, но на всякий случай если чего то не заметил перекинул ей свой конфиг и как результат - ошибка на месте 5.вот тут не понял что надо проверять 6.у них жесткий полетел, и программа и база с самым последним обновлением а вот мой мини отчет не получилось у нее запустить, не знаю почему upd. отчет получилось запустить но результат все тот же, я получил ошибку что таблицы нет на рабочем столе, чтобы найти ошибку скинул им 6 фокс и думал там получу ошибку, но нет и в фоксе и в программе отчет просто запустился
Исправлено 3 раз(а). Последнее : axeum, 03.09.24 08:52 |
Re: при print report меняется путь для программы | |
---|---|
sphinx Сообщений: 31607 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Цитата: 1) Запустите CMD.EXE 2) Наберите SET <Enter> 3) Ищите параметр (переменную среды окружения) "PATH" ------------------ "Veni, vidi, vici!"(с) |
Re: при print report меняется путь для программы | |
---|---|
Владимир Максимов Сообщений: 14120 Откуда: Москва Дата регистрации: 02.09.2000 |
Перед запуском отчета (непосредственно перед командой REPORT FORM в твоем приложении) посмотри, что вернут функции
SYS(2019) - какой именно файл конфигурации реально использует приложение SET("PATH") - какие пути доступа реально настроены в данный момент Если используется VFP9 и предполагается использование Report Listener, то попробуй отключить его использование настройкой
Сообщение об ошибке - это обращение к системной директории, которая предназначена для временных файлов. Можно посмотреть по SYS(2023). Это возможно только в том случае, если система все остальные пути "потеряла". Как уже писали ранее, "потерять" пути может заставить драйвер принтера, если у него есть какие-то специальные настройки для хранения файлов. Или какой-то не учтенный программный код И еще по поводу ошибки. Ты создал курсор C1, а в сообщении таблица tuning.dbf. Т.е. явно речь идет о какой-то совершенно посторонней программе Исправлено 1 раз(а). Последнее : Владимир Максимов, 03.09.24 10:50 |
Re: при print report меняется путь для программы | |
---|---|
axeum Сообщений: 119 Дата регистрации: 07.07.2020 |
там на выходе из формы из тюнинга подтягивается информация для log_vhod потому и тюнинг вылез как ошибка |
Re: при print report меняется путь для программы | |
---|---|
akvvohinc Автор Сообщений: 4365 Откуда: Москва Дата регистрации: 11.11.2008 |
Цитата:Обычно сначала пытаются найти причину проблемы, а лишь при неудаче мастерить костыли. Выложите здесь файлы хотя бы одного проблемного отчета, может, вам подскажут, в чем может быть причина, а то и найдут её. |
Re: при print report меняется путь для программы | |
---|---|
axeum Сообщений: 119 Дата регистрации: 07.07.2020 |
cmd path выдал вот такие пути
PATH=C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\windows\System32\OpenSSH\;C:\Users\USER\AppData\Local\Microsoft\WindowsApps; sys(2019) вообще пустой вышел в обоих случая set('path') одинаковым оказался до и после отчета(скрины на всякий случай сделал) sys(2023) тоже одинаковый путь выдал что до отчета что после(там на скрине написано sys(2019) но по факту там sys(2023) какие то странности происходят, получается что переменная path остается без изменений, а ошибки все ровно появляется и ищет таблицы на рабочем столе и пример отчета каким проверял тоже прикрепил upd. клиенту вернули старый пк правда чистый с семеркой, закинул туда программу,базу и обновили, попробовал отчет сформировать и он сформировался и не было больше никаких ошибок, в понедельник попробуем туда 2 принтера подключить и тогда будет ясно проблема в принтерах или в винде поменял архив Исправлено 4 раз(а). Последнее : axeum, 06.09.24 11:21 |
Re: при print report меняется путь для программы | |
---|---|
Владимир Максимов Сообщений: 14120 Откуда: Москва Дата регистрации: 02.09.2000 |
Не у всех WinRar установлен. Лучше Zip или 7Zip архивировать. Поэтому что там во вложении я не вижу
Если в SET PATH указаны относительные пути, то это пути относительно текущей директории по умолчанию. Посмотри что вернет функция ?FullPath("") - в качестве параметра пустая строка (две кавычки подряд). До и после вызова отчета Реально это будет полный путь доступа к директории по умолчанию, относительно которой FoxPro ищет пути, указанные в SET PATH Устанавливается директория по умолчанию через настройку SET DEFAULT Собственно, именно директория по умолчанию обычно и "слетает" при разных операциях с выбором/сохранением файла или директории PS: пустой sys(2019) означает, что реально ваше приложение CONFIG.FPW не использует. Если он необходим, то лучше его указывать явно через ключи запуска. В данном случае через ключ "-С". Примерно так
Кавычки для пути доступа к файлу конфигурации нужны, если путь доступа или имя файла содержит пробелы. Если пробелов нет, то можно и без кавычек Исправлено 1 раз(а). Последнее : Владимир Максимов, 06.09.24 10:49 |
Re: при print report меняется путь для программы | |
---|---|
akvvohinc Автор Сообщений: 4365 Откуда: Москва Дата регистрации: 11.11.2008 |
В этом отчете галка на Save printer environtment стоит, хотя выше вы написали, что она убрана. |
Re: при print report меняется путь для программы | |
---|---|
axeum Сообщений: 119 Дата регистрации: 07.07.2020 |
действительно, возможно когда открывал в 6 фоксе что то поменялось, но клиент решил просто перенести программу на старый комп и не заморачиваться больше, так что к счастью или к сожалению эксперименты прекратились так и не узнав в чем была проблема |
© 2000-2024 Fox Club  |