:: Visual Foxpro, Foxpro for DOS
Re: VFP ADVANCED (X64)
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
Вроде бы за 25 лет он брался выучить ишака говорить.

И полностью ответ Ходжи Насреддина был таков: Через 25 лет или ишак сдохнет, или падишах умрет, или я.

[sm128]
Ratings: 0 negative/0 positive
Re: VFP ADVANCED (X64)
dimuhametov
Автор

Сообщений: 1562
Откуда: Костанай
Дата регистрации: 01.11.2008
В продолжение разговора о VFP Advance(64). Сборка проекта.
При использовании сторонних библиотек (DLL) тут все понятно, необходима их 64-битная версия. Что касается внутренних DLL оси, то тут немного проще. Можно использовать практически весь набор 32-битных функций Win32Api,Kernel32.dll,Gdi32.dll,User32.dll,Mpr.dll,Advapi32.dll. Также работают функции обработки реестра(reg*).
Но есть и другие нюансы, к примеру функция открывающая доступ к текущему процессу отлично работает в родной среде VFP9.0, но отказывается работать VFP Advance(64):
DECLARE SHORT OpenProcessToken IN advApi32 ;
INTEGER hProcess, ;
INTEGER dwDesiredAccess, ;
INTEGER @ TokenHandle
DECLARE integer GetCurrentProcess IN kernel32
nhToken = 0
? OpenProcessToken(GetCurrentProcess(), 0x2+ 0x8, @nhToken) && return 0
Приходиться импровезировать для 64битной версии:
DECLARE SHORT OpenProcessToken IN advApi32 ;
INTEGER hProcess, ;
INTEGER dwDesiredAccess, ;
INTEGER @ TokenHandle
DECLARE integer GetCurrentProcessId IN kernel32
DECLARE INTEGER OpenProcess IN Kernel32.DLL INTEGER,INTEGER,INTEGER
nhToken = 0
hProc = OpenProcess(2035711, 0,GetCurrentProcessID())
? OpenProcessToken(hProc, 0x2+ 0x8, @nhToken) && return #0
Также хочу отметить также , что класс _webbrowser (подкласс IE) отлично работает в версии VFP Advance.Как я понял это единственный такой работающий ole-объект, другие работать не хотят.
После компиляции проекта получаю втрое увеличенный EXE. Для работы своей программы на стороннем компе необходимы еще две 64-битные библиотеки msvcr100.dll(810Kb) и VFPAR.DLL (18Мб). Причем регистрация (regsvr32) таких библиотек не нужна.
Да еще неприятный пока момент, откомпилированная программа не работает на Win10(64bit). Автор компилятора обещал исправить ошибку. Будем ждать.


------------------
Незнание делает жизнь такой интересной.




Исправлено 1 раз(а). Последнее : dimuhametov, 29.07.15 08:00
Ratings: 0 negative/0 positive
Re: VFP ADVANCED (X64)
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
dimuhametov а какой профит от всех этих телодвижений?
Что то быстрее работает?

Я как то на скорость, никогда не жаловался.
если что то тормозит, так большие выборки, с которыми и надо ковыряться.

Или это просто академический интерес?


------------------




Исправлено 1 раз(а). Последнее : Аспид, 29.07.15 08:55
Ratings: 0 negative/0 positive
Re: VFP ADVANCED (X64)
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Вопрос был задан без сарказма.
А вдруг ответ будет.
"Все просто залетало"
Так может найдутся соучастники.

Просто скорее, все же ответ, "Ничего не заметно"
По крайне мере, не вижу разницы, между скомпилированными 32 и 64, там где это можно.
Совершенно(

Это не с 8 на 16 перейти)))
(Хотя странно, казалось бы должно оно, ускорение, быть)


------------------
Ratings: 0 negative/0 positive
Re: VFP ADVANCED (X64)
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Аспид
Просто скорее, все же ответ, "Ничего не заметно"
По крайне мере, не вижу разницы, между скомпилированными 32 и 64, там где это можно.

Вообще сколько читал, в том числе и отзывов, о работе с 64 на оси-64 - разница как бы только в чем-то очень массивном, каких-то потоковых в основном делах.
Сами же процессы занимают например в 2 раза больше памяти. Что вроде бы даже и не совсем. Но зато и ограничений на размер памяти (ну в обозримом будущем) - попросту нет!
Т.е. имеешь комп со 128Г оперативки - используешь все 128. Ну а где и для чего оно нужно - это уж другой вопрос.
Данная же тема, мне кажется - как возможная перспектива существования фокспро в новом пространстве.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive
Re: VFP ADVANCED (X64)
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Про адресное пространство в курсе.
Ось 64, как бы не вызывает сомнения нужность.
Я о приложениях.
берем 64 IE и 32
и... в профите 0
Ну и аналогично другие.
Единственно, кто рисует, на автокаде, и пр. ресурсоемких.
Там говорят здорово заметно.
Т.к. там уже и наличие памяти, сильно играет роль.

В наших же приложениях.

Ну а то что на возможную перспективу.
Это и есть академический интерес.
Может что и выйдет.
Просто интересно повозиться, и время есть.


------------------
Ratings: 0 negative/0 positive
Re: VFP ADVANCED (X64)
dimuhametov
Автор

Сообщений: 1562
Откуда: Костанай
Дата регистрации: 01.11.2008
Аспид
Вопрос был задан без сарказма.
А вдруг ответ будет.
"Все просто залетало"
Ускорения нет никакого, скорее небольшие тормоза при запуске EXE (сравниваю с 32битным аналогом).


------------------
Незнание делает жизнь такой интересной.
Ratings: 0 negative/0 positive
Re: VFP ADVANCED (X64)
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Само то, что можно говорить о том, что VFP не умер - уже неплохо!
Надежда - тоже хорошо!
Ratings: 0 negative/0 positive
Re: VFP ADVANCED (X64)
dimuhametov
Автор

Сообщений: 1562
Откуда: Костанай
Дата регистрации: 01.11.2008
Для большинства "авторитетов" нашего клуба, FOXPRO мертевее мертвого.


------------------
Незнание делает жизнь такой интересной.




Исправлено 1 раз(а). Последнее : dimuhametov, 29.07.15 15:13
Ratings: 0 negative/0 positive
Re: VFP ADVANCED (X64)
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Я в меньшинстве. И не парюсь. Благодаря C# у программистов заказчика мы опережаем их по скорости разработки на Фоксе.
Этот мертвый живее живых.



Исправлено 2 раз(а). Последнее : Ydin, 29.07.15 15:22
Ratings: 0 negative/2 positive
Re: VFP ADVANCED (X64)
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Аспид
Хотя странно, казалось бы должно оно, ускорение, быть
Нет, не должно. С чего бы ему быть то Профит могут дать только специально заточенные на 64 бит вычисления (ну типа того же что дают всякие MMX да SSE - при использовании "новых" векторных типов данных). А так - основная польза это именно существенно больший объём доступной процессу памяти, отсутствие проблем с фрагментацией оной (что не даёт нормально использовать даже доступные ~2Гб, или ~3Гб в специальном режиме на 32-битных осях). Это очень полезно для СУБД, конечно если оная УМЕЕТ эффективно использовать большие объёмы памяти. Так что пока фоксовый движок этого уметь не будет то и толку от 64-битности будет всего ничего. Впрочем, я сильно сомневаюсь что даже если автор таки увеличит заметно возможности фокса по использованию памяти, это существенно повысит скорость работы тех же запросов - тут уже вопрос будет в новых (для фокса) методах исполнения выборок.
P.S. Если удаётся на 64 битной оси ПОЛНОСТЬЮ отказаться от 32-битных приложений, это уже помогает освободить часть ресурсов - как минимум не надо держать в памяти по 2 экземпляра системных библиотек. Так что не правы те кто говорят "зачем заменять 32 битный софт ZZZ на его 64 битный вариант, разницы по скорости ведь нет никакой"


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: VFP ADVANCED (X64)
dimuhametov
Автор

Сообщений: 1562
Откуда: Костанай
Дата регистрации: 01.11.2008
Получил новую версию от автора VFP ADVANCED (X64).
* По словам автора добавлена совместимость с Windows 10 (ранее запуск EXE не работал)
* Также рекомендовано использовать для типа HANDLE тип LONG в объявлении функций DECALRE (для 32-х битного VFP разницы INTEGER и LONG в DECALRE нет, применительно к HANDLE). В итоге описанный ранее пример отработал на 5+ для VFP(X64):
DECLARE SHORT OpenProcessToken IN advApi32 ;
LONG hProcess, ;
INTEGER dwDesiredAccess, ;
LONG @ TokenHandle
DECLARE integer GetCurrentProcess IN kernel32
nhToken = 0
? OpenProcessToken(GetCurrentProcess(), 0x2+ 0x8, @nhToken) && return #0


------------------
Незнание делает жизнь такой интересной.




Исправлено 1 раз(а). Последнее : dimuhametov, 02.09.15 08:49
Ratings: 0 negative/0 positive
Re: VFP ADVANCED (X64)
kornienko_ru

Сообщений: 203
Откуда: Владивосток
Дата регистрации: 06.09.2015
Я использую VFP в силу традиции в работе в советское время. Сейчас не программист, но пишу разные программы на общественных началах, например для ТСЖ, с личными кабинетами (sun.av-c.net) с доступом в базы VFP. Недавно решил переделать формирование ведомостей и квитанций с MSExcel (через OLE/COM) на LibreOffice 32 bit (через OLE/COM). Разработал специальный невероятно простой и удобный генератор отчетов, где вместо экселевских формул типа =СУММА(А5:A25) ставлю что-то типа .m.Сумма или .iif(empt(m.Сумма),"—",m.Сумма) — да в принципе что-угодно из синтаксиса VFP. Все эти таблицы в специальной папке REP. Проблем с переходом на LibreOffice особых не было, более того был удивлен, что формирование отчетов в LibreOffice идёт быстрее, чем в MSExcel. Столкнулся с такой неприятностью, что LibreOffice 64 bit не хочет работать с MS VFP 9 32 bit. Нашел кое-что в интернете о существовании некой VFP advanced 64 bit. Скачал с сайта разработчика (я так понимаю, что это Чен-китаец) VFP advanced 32 bit. Но zip-архив защищен паролем. Вопрос 1 - что за пароль, подскажите. Вопрос 2 - есть ли 64 bit, могу ли я продавать программный продукт, если он будет в комплекте с VFP advanced?

Никакие компиляторы мне не нужны. Мне очень нравится интерпритатор prg, vcx и др. Если необходимо, я просто их отдаю с минимальным комплектом VFP. Сейчас у меня (нашел на просторах интернета) VFP 09.00.0000.5721, файлы: vfp9.exe, CONFIG.FPW, msvcr71.dll, dv_foxhelp.chw, dv_foxhelp.chm, VFP9ENU.DLL, fox.bmp, fox.msk. Их вполне достаточно, чтобы писать и эксплуатировать программы, экзэшники мне абсолютно не нужны.
Ratings: 0 negative/0 positive
Re: VFP ADVANCED (X64)
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Если можешь продавать VFP, который "нашел на просторах интернета", то что мешает продавать комплект VFP advanced от "Чен-китаец"?
Ratings: 0 negative/0 positive
Re: VFP ADVANCED (X64)
kornienko_ru

Сообщений: 203
Откуда: Владивосток
Дата регистрации: 06.09.2015
Не умно.
Во-первых я продавать не хочу, мне интересны условия лицензии, а во-вторых, если продавать, то не комплект vfp от MS или Чена, а продукт, написанный на нём. Ясно море, что сама программа без интерпритатора работать не будет.



Исправлено 1 раз(а). Последнее : kornienko_ru, 28.06.16 13:53
Ratings: 0 negative/0 positive
Re: VFP ADVANCED (X64)
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Да, рантайм бесплатный, а вот средство разработки (vfp9.exe) стоит что-то. Т.е. у покупателя, если спросят "где взял" эту программу, он скажет вот у разработчика купил. Пойдут к разработчику, спросят, где средства разработки? Что ответит разработчик?
Ratings: 0 negative/0 positive
Re: VFP ADVANCED (X64)
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Лицензия на фокс запрещает отдавать файлы vfp9.exe и vfp9enu.dll - это часть IDE и они могут использоваться только владельцем лицензии на сам фокс (программистом, для краткости).

Для его клиентов (юзеров) нужно использовать только рантайм - vfp9r.dll и vfp9renu.dll (ну это основа, сишный рантайм и прочее это уже мелочи).
Чтобы использовать рантайм нужно сделать свой exe. При том он вполне может быть из одной единственной строки, запускающей внешний по отношению к exe программный модуль (форму или программный файл).
Рантайм фокса начиная с версии VFP6 SP3 умеет компилировать prg - соответственно если отказаться от визуальных программных компонент (vcx/scx) то вполне можно используя чистый рантайм и банальный текстовый редактор писать свои программы на VFP - совершенно легально (рантайм бесплатен, а такого рода "программу" вполне можно взять забесплатно у любого владельца фокса Собственно сам exe тут вообще не при делах - тебе нужна будет лишь бумажка легализующая данный "софт" ).

Насколько я помню про этот "китайский фокс", он явно требует для разработчика иметь лицензию на собственно VFP - т.к. по сути это своего рода надстройка над ним.


------------------
WBR, Igor
Ratings: 0 negative/1 positive
Re: VFP ADVANCED (X64)
kornienko_ru

Сообщений: 203
Откуда: Владивосток
Дата регистрации: 06.09.2015
Вообще-то речь не о MS VFP, а о VFP advanced. Ясно море, что у MS vfp9.exe платный. Условия Чена, вот интересный вопрос.

Не представляю, как надстройка на приложение 32 бит, может сделать его 64 бит. Возможно, MS VFP при установке нужен для переноса серийного номера из MS VFP в VFP advanced.



Исправлено 1 раз(а). Последнее : kornienko_ru, 28.06.16 14:24
Ratings: 0 negative/0 positive
Re: VFP ADVANCED (X64)
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
kornienko_ru
Вообще-то речь не о MS VFP, а о VFP advanced. Ясно море, что у MS vfp9.exe платный. Условия Чена, вот интересный вопрос.
На его странице написано что этот софт устанавливается ПОВЕРХ установленной версии VFP9 SP2 - соответственно не имея лицензии на фокс, использовать этот продукт законным образом никак нельзя.
Поскольку и сам проект создан явно в нарушение лицензии на фокс, то говорить о легальности чего-то созданного на его основе я бы не стал...


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: VFP ADVANCED (X64)
kornienko_ru

Сообщений: 203
Откуда: Владивосток
Дата регистрации: 06.09.2015
Надо дать ссылку на то, что так пишет, а то сомнения остаются. Если он использует MS VFP, тогда — конечно, всё понятно. А вообще, глупо со стороны MS, держать устаревший без поддержки продукт платным. Интерпритатор — это открытый код, это в духе времени и делать vfp9.exe платным — не солидно. Мне всегда было удобно отслеживать ошибки на ПК заказчика и, конечно же, я туда ставил vfp9.exe, vpf9enu.dll и свои коды.
Ratings: 0 negative/0 positive


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

On-line: 23 krin  (Гостей: 22)

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