:: Visual Foxpro, Foxpro for DOS
база данных Foxpro 2.6 под Win7x64 (Dosbox)
Saltoon
Автор

Сообщений: 6
Дата регистрации: 22.06.2018
Доброго дня, всем!
Не являюсь программистом и прошу сильно не бить, за вопрос не совсем по тематике программирования.
Есть программа, написанная на fox2.6 (я так предполагаю), которая благополучно работает на XP и Win7x32.
В прошлом году было закуплен новый комп на Win10x64. В связи с этим поступила задача, перенести работающую программу на эту ОС.
Под DOSBox-0.74-2 программа запускается. Монтирую папку с Fox2.6 и программой как один диск С:
При переходе в меню программы к справочной информации выходит ошибка открытия файла... далее путь к файлу. Файл находится к каталоге с программой который монтируется как диск C:
Менял путь к каталогу и настройки программы. Не помогает. Таже ошибка.
В связи с чем вопрос. Это связано с Fox2.6 или DOSBox?
Подскажите куда копать?
Скрины не прикладываю. Беспокоюсь о находящейся в них информации. Возможно не в рамках форума, в личку, кто проявит интерес к этому сообщению.

ЗЫ.
Запускал Нортон из DOSBox. Файлы доступны. И в локальном варианте и по сети (смонтированный сетевой диск).
Ratings: 0 negative/0 positive
Re: база данных Foxpro 2.6 под Win7x64 (Dosbox)
sphinx

Сообщений: 31166
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
Вот подробное руководство от Олега (of63):

forum.foxclub.ru


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: база данных Foxpro 2.6 под Win7x64 (Dosbox)
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
sphinx
Вот подробное руководство

Блин. Это ж все давно устаревшее! Да и не самое хорошее в итоге. [sm128]
Поскольку Досбокс - изначально создавался для игр. По этой причине он имеет ряд проблем при запуске под ним дос-приложений. В том числе и программ FPD 2.6.

Вот тут, я же и специальную тему заводил: forum.foxclub.ru
Вроде бы достаточно подробно все было. Даже свои русские переводы и прочие нужные файлы туда прикрепил.
Там и про данную проблему в целом, и про наиболее подходящее на сегодня ее решение.
В смысле про VDosPlus.
Это улучшенный аналог Досбокса, специально разработанный, как адаптированный вариант именно под работу приложений.
Кстати разработчики VDosPlus периодически его дорабатывают.
Т.е., при необходимости постоянного использования имеет смысла поглядывать иногда на их сайт на предмет обновленных версий.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)




Исправлено 6 раз(а). Последнее : Crispy, 22.01.20 07:05
Ratings: 0 negative/2 positive
Re: база данных Foxpro 2.6 под Win7x64 (Dosbox)
Saltoon
Автор

Сообщений: 6
Дата регистрации: 22.06.2018
Спасибо! Добрый человек!
Может поможете настроить запуск программы?
А то, что то запутался в ваших пояснениях.
Каталоги с fox и программой лежат в E:\SOC
Там же и портативная версия vDosPlus
В каком файле нужно прописать монтирование этой папки как диск С:
USE С: E:\SOC

И как прописать путь к запуску программы, если батник зля запуска выглядит так.

C:
CD C:\SZA\ZPR
C:\FOX26\FOXPROX.EXE -t C:\SZA\ZPR\zm0.fxp
Ratings: 0 negative/0 positive
Re: база данных Foxpro 2.6 под Win7x64 (Dosbox)
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Saltoon
В каком файле нужно прописать монтирование этой папки как диск С:

В Досбоксе действительно было несколько проблемно - со всеми монтированиями и прочим.
в VDosPlus в этом смысле сделали проще.
Там можно иметь обычную адресацию к путям самой системы. Т.е. - без всякого монтирования дисков!
Сейчас просто у меня под рукой, к сожалению, нет самой рабочей FPD-программы, она на другом компе.
Но в приведенном по ссылке обсуждении в принципе все было описано, на мой взгляд, достаточно подробно, чтобы без особых проблем создать свой вариант. Советую просто внимательно прочитать там все комментарии.
Для начала же - нужно будет скачать (в прицепе к некоторым сообщениям) - уже готовые рабочие примеры конфигурационных файлов и почитать (в них самих же) русское описание.
Это как бы аналоги досовских autoexec и config.
Насчет же расположения всех папок.
Тут возможны разные варианты, в зависимости от подходов.
Я например делал так:
Внешняя папка APP вмещает в себя папку VDosPlus, в которой находятся файлы VDosPlus и конфигурационные файлы к каждой FPD-программе, у меня их было 3. Папки этих программ также вложены в общую папку APP.
В конфигурационных файлах для каждой программы в адресации указан относительный путь - через внешнюю, родительскую папку к данной программе.
В результате имеем общую папку APP со всеми вложенными в нее программами и с VDosPlus естественно, которую без проблем можно просто перемещать на любой диск и любой компьютер. Т.е. по сути такой комплекс работает как портабильная программа на любом компьютере x86 или 64-разрядном, с Win7 или Win10 (на них точно проверял, но по идее должно без проблем работать и на Win8 и Win8.1)

Для программм возможна работа и с сетью, просто это должно быть предусмотрено в самих программах.
Для принтера - лучше применять описанное мною в той теме решение. Потому что эмулированный через вложенную в их комплект утилиту принтер все же не совсем удачно работает (вдобавок эта утилита небесплатная с ограниченным функционалом, в отличие от остальных утилит комплекта). Приведенное же решение (через текстовый файл и открытие его в редакторе AkelPad) - безотказно работает уже много лет.

Т.е. ничего сложного во всем этом нет. Советую просто начать смотреть. В крайнем случае, всегда можно будет что-то уточнить. Хотя с большой вероятностью все получится сразу без проблем.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)




Исправлено 7 раз(а). Последнее : Crispy, 22.01.20 12:31
Ratings: 0 negative/0 positive
Re: база данных Foxpro 2.6 под Win7x64 (Dosbox)
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
Crispy
Приведенное же решение (через текстовый файл и открытие его в редакторе AkelPad) - безотказно работает уже много лет.

И что же - печатать обычный текст можно будет, выйдя из vdosplus и открыв текст в AkelPad? А печать в графическом режиме возможна будет?
Ratings: 0 negative/0 positive
Re: база данных Foxpro 2.6 под Win7x64 (Dosbox)
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Simple777
Crispy
Приведенное же решение (через текстовый файл и открытие его в редакторе AkelPad) - безотказно работает уже много лет.

И что же - печатать обычный текст можно будет, выйдя из vdosplus и открыв текст в AkelPad? А печать в графическом режиме возможна будет?

Мда. Я-то думал, ты ту тему хоть как-то изучил. [sm128]
Принцип прост. В FPD просто загружается app, через параметры в него передается имя файла и размер шрифта/ориентация и прочее. Что делается через правку ini-файла у Акельпада. Который подгружается затем в этом app обычной командой !/0.
В прицнипе про все это в той теме я и описывал.
По поводу же "графического режима" - начиная с ХР (по-крайней мере) и лазерных принтеров, весь вывод происходит в любом случае в "графическом режиме". Прямой вывод позволяла только Win98. Даже в WinMe его прибили искусственно, хотя пропатчив можно было получить, но с некоторыми глюками. А потом его и вовсе удалили на уровне ядра.
Или ты имел в виду печать графики, картинки?
Ну дык для этого можно использовать другие средства. В VFP с этим проще, но и в FPD можно добиться, если уж так надо.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)




Исправлено 2 раз(а). Последнее : Crispy, 22.01.20 14:32
Ratings: 0 negative/0 positive
Re: база данных Foxpro 2.6 под Win7x64 (Dosbox)
Saltoon
Автор

Сообщений: 6
Дата регистрации: 22.06.2018
Программа запустилась, но в процессе запуска вот такая ошибка.
prntscr.com
Ratings: 0 negative/0 positive
Re: база данных Foxpro 2.6 под Win7x64 (Dosbox)
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Saltoon
Программа запустилась, но в процессе запуска вот такая ошибка.
prntscr.com

Там что-то непонятное с картинками.
Графические файлы лучше всегда пристегивать сюда, к своему сообщению, включив при этом пометку "показывать в сообщении".
Если размер файла велик - можно сжать его вот этой простой и качественной утилитой: rsload.net до допустимого для сообщении размера. Для скачивания с этого сайта, и логин и пароль - "rsload.net".

Или вот, там оказывается есть ссылка на русскую версию и поновее: msilab.net


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)




Исправлено 2 раз(а). Последнее : Crispy, 22.01.20 15:09
Ratings: 0 negative/0 positive
Re: база данных Foxpro 2.6 под Win7x64 (Dosbox)
Saltoon
Автор

Сообщений: 6
Дата регистрации: 22.06.2018
[attachment 32650 Screenshot_6.png]
Ratings: 0 negative/0 positive
Re: база данных Foxpro 2.6 под Win7x64 (Dosbox)
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Saltoon
[attachment 32650 Screenshot_6.png]

Возможно путь к какой-то таблице указан неверно.
Т.е. нарисуй тут свою структуру взаиморасположения папок: VDosPlus и самой программы, всех ее папок. Какие пути прописаны у нее в установках DEFAULT и PATH? Какой вид путей используется во всех командах типа USE и им подобных? Абсолютный? Или относительный?
Также приведи текст своего файла autoexec, используемого для VDosPlus. Тогда можно будет уточнить, в чем ошибка.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive
Re: база данных Foxpro 2.6 под Win7x64 (Dosbox)
Saltoon
Автор

Сообщений: 6
Дата регистрации: 22.06.2018
Crispy
Возможно путь к какой-то таблице указан неверно.
Т.е. нарисуй тут свою структуру взаиморасположения папок: VDosPlus и самой программы, всех ее папок. Какие пути прописаны у нее в установках DEFAULT и PATH? Какой вид путей используется во всех командах типа USE и им подобных? Абсолютный? Или относительный?
Также приведи текст своего файла autoexec, используемого для VDosPlus. Тогда можно будет уточнить, в чем ошибка.

VDosPlus и программа находятся в одной папке на диске E:\SOC
В настройках программы все пути указаны на внутренние каталоги программы E:\SOC\PROG\KATALOG\
autoexec.1
@ECHO OFF
PATH %PATH%;.\4DOS;.\DOSZIP;.\sza;E:\nc;E:\fox26;E:\sza
rem SET TEMP=%%TEMP%%
CHCP 866
KEYB RU,866,keybrd2.sys
CLS
CD E:\SOC\SZA\ZPR
E:\SOC\FOX26\FOXPROX.EXE -t E:\SOC\SZA\ZPR\zm0.fxp
exit

В остальном не понимаю о чем идет речь
Ratings: 0 negative/0 positive
Re: база данных Foxpro 2.6 под Win7x64 (Dosbox)
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
Crispy
Saltoon
[attachment 32650 Screenshot_6.png]

Возможно путь к какой-то таблице указан неверно.
В общем-то, сия ошибка не при запуске vDosPlus, а уже при работе фоксовой проги. Так что предположение совершенно не в кассу.

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: база данных Foxpro 2.6 под Win7x64 (Dosbox)
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Saltoon
VDosPlus и программа находятся в одной папке на диске E:\SOC
В настройках программы все пути указаны на внутренние каталоги программы E:\SOC\PROG\KATALOG\
autoexec.1
@ECHO OFF
PATH %PATH%;.\4DOS;.\DOSZIP;.\sza;E:\nc;E:\fox26;E:\sza
rem SET TEMP=%%TEMP%%
CHCP 866
KEYB RU,866,keybrd2.sys
CLS
CD E:\SOC\SZA\ZPR
E:\SOC\FOX26\FOXPROX.EXE -t E:\SOC\SZA\ZPR\zm0.fxp
exit

Местонахождение VDosPlus не должно играть никакой роли. Поэтому лучше всего, чтобы все пути указывались в относительном виде.
Т.е. по идее лучше всего разместить файлы как-то так:

SOC - [здесь в основной папке должны лежать все файлы для работы VDosPlus]
- папка 4DOS
- папка DosZip
- папка FOX26
- папка самой программы (т.е., так понимаю, это SZA?)

Список файлов для работы VDosPlus:
config.1
autoexec.1
CheckUpdates.bat
EMSMAGIC.COM
vDosPlus-version.dat
pifmgr.dll
vDosPlus-checkinstall.exe
keyb.exe
start.exe
vDosPlus.exe
4DOS.HLP
4DOS.INI
Ru.key
US.KEY
keyboard.sys
keybrd3.sys
keybrd2.sys
Nouveau_IBM.ttf
README.TXT
config.txt
sysnotes.txt

Собственно config.1, autoexec.1 - файлы для запуска своей FPD-программы из среды VDosPlus. Для добавления другой программы нужно будет добавить файлы с такими же именами, но с другим расширением.
Далее, создаем ярлык для запуска этого autoexec.1, где в свойствах ярлыка строке "Объект" пишем:
E:\SOC\vDosPlus.exe /set autoexec=autoexec.1
А в строке "Рабочая папка" соотвественно: E:\SOC.
Назначаем ярлыку подходящую иконку, либо из системных, либо можно свою положить в папку программы например и назначить. Этот ярлык помещаем на рабочий стол, через нее программу будет запускать пользователь.

Далее. autoexec.1 может выглядеть как:
@ECHO OFF
PATH %PATH%;.\4DOS;.\DOSZIP;C:.;..
rem SET TEMP=%%TEMP%%
CHCP 866
KEYB RU,866,keybrd2.sys
CLS
.\FOX26\FOXPROX.EXE -t .\SZA\ZPR\zm0.fxp
exit

Пояснения:
1.
PATH %PATH%;.\4DOS;.\DOSZIP;. - это самые необходимые папки, видимые из среды, а - \sza;E:\nc;E:\fox26;E:\sza - этого всего не нужно!
Т.к. видимость папки фокспро и папок программы - должна быть предусмотрена в самой программе.
Через установки:
SET DEFAULT
SET PATH
Т.е., в DEFAULT - указать, какая папка по умолчанию. Обычно это папка программы.
И в PATH - через запятые, какие папки используются для обращения за данными например или для других целей.

2.
DOSZIP - это папка с Doszip Commander - отличная, написанная специально под Win32 замена для Norton Commander, именно DC и стоит использовать вместо NC (который выкинуть и забыть), если вдруг понадобится.
Очень неплохой в принципе файловый менеджер, хотя возможно немного придется привыкнуть.

3.
rem SET TEMP=%%TEMP%% - это строка "заремлена", т.к. у меня не использовалась, если же например каталог TEMP нужен для работы программы, "rem" надо будет просто убрать. Если же нет - можно и целиком строку просто не вставлять.

Основная суть при настройке работы через VDosPlus - стараться все ссылки внутри настроек писать в относительном виде.
Это дает возможность потом как угодно перемещать свою основную папку (в данном случае "SOC").
Она становится как бы полностью "вещь в себе", портиируемая на любой другой диск и другой компьютер совершенно без проблем. Если же приивязываться к конкретным путям - при перемещении естественно придется все эти пути править.
Единственноое место, где требуется указание конкертных путей (причем строго точно) - это ярлык для запуска программы. О котором я выше и упоминал.

Разумеется, все вышеописанное будет работать, если программа нормально работает. Т.е. вне данной среды, где-то скажем пол WinХР все было отлажено, все запускалось.
Иначе придется отлаживать ее уже под VDosPlus. Что тоже в принципе возможно.
Для этого надо в autoexec.1 заремить строку выхода, т.е. будет так:
.\FOX26\FOXPROX.EXE -t .\SZA\ZPR\zm0.fxp
REM exit
А в самой программе - забить звездочкой команду QUIT. Тогда, после выхода из программы, мы сможем видеть и работать в самой среде фокспро.
Либо - можно подправить autoexec.1 таким образом:
.\FOX26\FOXPROX.EXE -t
REM exit
После же отладки программы можно вернуть все на место.
Либо - сделать специально отдельный файл autoexec с данными забивками и отдельный ярлык для его запуска. Он будет запускать отдельно саму среду FPD2.6.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)




Исправлено 1 раз(а). Последнее : Crispy, 24.01.20 07:51
Ratings: 0 negative/0 positive
Re: база данных Foxpro 2.6 под Win7x64 (Dosbox)
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Saltoon
\SOC\SZA\ZPR\zm0.fxp

Кстати, я бы не советовал использовать файлы .fxp для работы.
Т.к. они могут быть перекомплированы совершенно нечаянным образом.
Лучше уж специально компиллировать для своего приложения файл .app. Он более защищен в этом смысле. В идеале же конечно - по возможности стоит создавать и полностью независимый EXE-файл. Чтобы не было необоходимости таскать среду за своей программой.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)




Исправлено 3 раз(а). Последнее : Crispy, 24.01.20 07:54
Ratings: 0 negative/0 positive
Re: база данных Foxpro 2.6 под Win7x64 (Dosbox)
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Т.е. для чего нужны все эти пути:
PATH %PATH%;.\4DOS;.\DOSZIP;C:.;..

Если мы заремим команду выхода:
REM exit

То, после завершения работы среды фокспро - окажемся в некоей как бы "дос-среде".
Это та самая эмуляция доса, о которой и говорилось.
И в командной строке этой среды (ее настройки прописаны в файле config) мы можем как в досе писать ее команды. Или запускать исполняемые файлы. С переходом по дискам и указанием пути. Либо непосредственно - расположенные по путям, указанным в настройках.
Скажем, если написать DZ и нажать Enter - по указанным выше путям будет найден исполняемый файл "dz.bat" и запущен. Этот файл как раз и загружает тот самый "Doszip Commander", о котором было выше.
Вот для всего подобного и нужна строка путей. Там в дос-среде ищутся файлы, нужные в этой среде.
Почему и не стоит писать туда все внутренние пути своих программ или расположения среды фокспро.
Которые всегда должны быть прописаны для нормальной работы - в самой программе в ее SET-ах.
Ведь по-нормальному - никто же не прописывал обычно никогда все пути своей программы в конфигурационных файлах DOS или Windows. Т.е. не смешивал этим - пути, необходимые в целом для системы и пути, нужные только для конкретно самой фокспро-программы.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)




Исправлено 1 раз(а). Последнее : Crispy, 24.01.20 08:35
Ratings: 0 negative/0 positive
Re: база данных Foxpro 2.6 под Win7x64 (Dosbox)
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
Crispy
Saltoon
\SOC\SZA\ZPR\zm0.fxp

Кстати, я бы не советовал использовать файлы .fxp для работы.
Увы, но твой совет тоже не в кассу. В таком виде программа распространяется разработчиками и власти над ними нет.
Потому и сам фокс нужен.
И вообще, разрабы, судя по коду, заснули в прошлом веке.
Пока с работой программы под эмуляторами сплошная веселуха.
Под одним работает одна часть программы и не работает другая, нарываясь на ограничение количества одновременно открытых файлов (кстати, там еще до сих пор используют, и очень широко, IDX), под другим наоборот, работает другая и не работает первая, нарываясь или на нехватку памяти, или на вылет самого эмулятора с уже показанной здесь ошибкой.


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: база данных Foxpro 2.6 под Win7x64 (Dosbox)
Saltoon
Автор

Сообщений: 6
Дата регистрации: 22.06.2018
Это конечно все замечательно!
И спасибо за столь подробное объяснение.
Но я так понимаю, все эти настройки нужны для запуска программы?
Так вот, программа запускается, и работает в режиме просмотра информации.
Как только переходишь к задаче, отличной от просмотра. А именно формирование некоего реестра. Программа вылетает с вышеуказанной ошибкой.
Под Win ХР и Win 7x32 такой проблемы нет.
Ratings: 0 negative/0 positive
Re: база данных Foxpro 2.6 под Win7x64 (Dosbox)
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Saltoon
Как только переходишь к задаче, отличной от просмотра. А именно формирование некоего реестра. Программа вылетает с вышеуказанной ошибкой.
Под Win ХР и Win 7x32 такой проблемы нет.

Ну это уже просто надо выяснить в каком месте кода происходит и почему. Это уже несколько другая проблема, связанная сколрее всего с каким-то недостатком самой программы.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive
Re: база данных Foxpro 2.6 под Win7x64 (Dosbox)
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
Все эти эмуляторы годны только для DOS-игр. Запустишь любой серьёзный по ресурсам проект - обычно вылетает с похожими ошибками. А командная строка Windows вообще не поддерживается.



Исправлено 1 раз(а). Последнее : Simple777, 24.01.20 15:13
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 13 Владимир Максимов TAS  (Гостей: 11)

© 2000-2024 Fox Club 
Яндекс.Метрика