FoxPro for Windows 2.6.1 | |
---|---|
foxygenex Автор Сообщений: 9 Дата регистрации: 08.12.2013 |
FoxPro for Windows 2.6.1 - это неофициальный релиз стандартной версии
FPW 2.6a, выполненный через тщательную модификацию бинарных ESL/EXE модулей с полным сохранением их размера и функционала. Обновление не только приводит пользовательский интерфейс к современным стандартам, но также существенно расширяет возможности некоторых встроенных команд FoxPro. Перечень улучшений которых удалось добиться путем анализа и внесения правок поверх бинарного кода ESL/EXE версии FoxPro for Windows 2.6 приведен ниже: - @ ... TO рисует линии произвольной ширины и в произвольных направлениях с различными растровыми масками наложения (INVERT, XOR, MERGE ... ) - POPUPs, COMBOs и LISTs могут содержать любые пользовательские иконки, пунктирная рамка фокуса убрана, улучшены кнопки скроллинга - @ ... BOX рисует обьемные 3D рамки различного вида - обычные, плоские, вдавленные, инвертированные и активные в т.ч. с сохранением внутренней зоны прорисовки - в пользовательских TITLE/HALFHEIGHT окнах используется тема Ubuntu Ambiance - улучшенные @ ... PUSH кнопки могут быть окрашены в произвольные цвета и держат программно заданные размеры без авторасширения - картинки в @ ... PUSH BMP растягиваются под размер кнопок, рамка кнопок по умолчанию скрыта - @ ... CHECK/RADIO переключатели прорисовываются только в 3D формате - @ ... SPINNER и COMBO прорисовываются без черных оконтуривающих рамок - @ ... EDIT рисуется без черного контура, SCROLLBARs имеют привычный вид - в @ ... MENU и POPUP рамки, заголовки и подзаголовки прорисовываются в обьемном формате, по умолчанию используется системный BTNFACE цвет, черный цвет рамок высветлен до стандартного - @ ... FILL закрашивает области как положено, предварительная очистка @ CLEAR не требуется - WAIT WINDOW выглядит почти как всплывающее окно ToolTip - RGB() значения стандартных COLOR PAIR высветлены до более приемлимых оттенков - шрифт Window/DIALOGs установлен по умолчанию в 'MS Shell Dlg'/'Tahoma',8 увеличенное окно COMMAND со шрифтом Coutrier,10 перемещено в правый нижний угол - движения колесика мыши [Ctrl+]MouseWheel теперь перехватываются FoxPro и преобразуются в стандартные коды клавиш вверх/вниз - вшитые таблицы раскладки DOS-437 и DOS-850 заменены на кириллические DOS-866 и WIN-1251. Версия ориентирована прежде всего на кодеров старой закалки, продолжающих поддерживать приложения классических DOS/Win сборок, а во вторую очередь - на учащихся и новичков, для которых сверхобьемный набор команд современных версий VFP3-VFP9 и устаревший Win3.x-подобный интерфейс старого лиса FPW 2.6a является непреодолимым препятствием в освоении FoxPro. Усовершенствованная библиотека среды исполнения вместе с описанием и примерами размещена по адресу (извините, пока на моем кривом английском): myten.ru Библиотека может быть свободно использована в ваших проектах. Замените ваш ESL модуль на новый FOXW2601.ESL, датируемый 20-12-2013, переименуйте его в FOXW2600.ESL и ваши старые приложения обретут новое дыхание ! |
Re: FoxPro for Windows 2.6.1 | |
---|---|
korsak Сообщений: 269 Откуда: Киров (Вятка) Дата регистрации: 27.03.2007 |
интересно
|
Re: FoxPro for Windows 2.6.1 | |
---|---|
BOBAN Сообщений: 633 Откуда: Солигорск Дата регистрации: 05.07.2004 |
Эта, а в VFP9 юникод можещь засунуть ?
|
Re: FoxPro for Windows 2.6.1 | |
---|---|
Влад Колосов Сообщений: 22664 Откуда: Ростов-на-Дону Дата регистрации: 05.05.2005 |
Мдэ, а правки ESO и ESL могут довести до цугундера...
------------------ Совершенство - это не тогда, когда нельзя ничего прибавить, а тогда, когда нечего убавить. |
Re: FoxPro for Windows 2.6.1 | |
---|---|
foxygenex Автор Сообщений: 9 Дата регистрации: 08.12.2013 |
Переход от ANSI к UNICODE это тотальное расширение всех 256 байтовых строковых буферов в 512 байтовые как пример, причем не только статических в .data секции, но и всех динамически выделяемых областей, а также в составе структур, которых в VFP наверное несколько сотен. Короче, это нереально, проще переписать VFP9 заново...
И как правильно заметил Влад, к VFP9 как к продукту которому еще не истекло 15 лет с момента релиза, применимы все цугундерные правила в полном обьеме. |
Re: FoxPro for Windows 2.6.1 | |
---|---|
rubey Сообщений: 49 Дата регистрации: 14.06.2010 |
Попробовал как описано, но новыые возможности не появились. Возможно какие нюансы в замене библиотеки. Не подскажете как правильно подключить измененную библиотеку ESL ?
|
Re: FoxPro for Windows 2.6.1 | |
---|---|
foxygenex Автор Сообщений: 9 Дата регистрации: 08.12.2013 |
Здесь возможны варианты:
0. "Нулевой вариант" - ваше приложение по стечению обстоятельств не использует ни один из визуальных эл-тов управления, которые подверглись модификации в FPW 2.6.1: PUSH/Radio/CheckBox/Menu/Dialogs и т.п. Соответственно, никакой визуальной разницы не будет. 1. Ваше приложение, возможно, не является приложением v.2.6 или подгружает ESL по другому пути. Советую запустить одну из утилит filemon/procmon.exe М.Руссиновича и по логам доступа к файловой системе отследить, библиотека с каким именем и по какому пути подгружается скомпилированным EXE. Напоминаю, что FOXW2601.esl это условное "релизное" имя, а FOXW2600.esl - это рабочее имя моей версии библиотеки. Проверить факт подгрузки легко - по новой оранжево-желтой иконке окна приложения или ее отсутствию. 2. "Силовой вариант" - сливаем ESL библиотеку и скомпилированный EXE в монолитный исполняемый модуль. Полученный самодостаточный (standalone) EXE запустится сам по себе без посторонней помощи. Этот трюк в FPW 2.6 (а после только в VFP3) возможен благодаря недокументированным функциям FindExeSection() / HaveExeSection() от разработчиков FoxPro. Для сборки используем примитивный код линковщика, приведенный ниже:
Значения TEST-EXE.exe и DEST-EXE.exe настраиваете под себя. |
Re: FoxPro for Windows 2.6.1 | |
---|---|
korsak Сообщений: 269 Откуда: Киров (Вятка) Дата регистрации: 27.03.2007 |
foxygenex
На некоторых WinXP ошибка "Подсистеме Win 16 недостаточно pесуpсов для пpодолжения pаботы" Нашел патч для wow32.dll www.vttoth.com - но он подходит только для старых dll-ок. Не приходилось сталкиваться? |
Re: FoxPro for Windows 2.6.1 | |
---|---|
foxygenex Автор Сообщений: 9 Дата регистрации: 08.12.2013 |
Возможно это результат воздействия на работу ntvdm.exe ныне действующего или ранее установленного антивируса. Symantec в свое время грешил этим.
И на всякий случай проверить значение параметра реестра \WOW\wowsize. У меня он равен "16" т.е. стандартно на виртуальную x86 DOS-машину выделяется 16МБайт памяти RAM. |
Re: FoxPro for Windows 2.6.1 | |
---|---|
korsak Сообщений: 269 Откуда: Киров (Вятка) Дата регистрации: 27.03.2007 |
Этот параметр не влияет. Там в другом дело
Цитата:вот наконец то нашел пропатченный файл sysadmins.ru |
Re: FoxPro for Windows 2.6.1 | |
---|---|
foxygenex Автор Сообщений: 9 Дата регистрации: 08.12.2013 |
Спасибо за инфу, весьма поучительно.
Скопировал себе dll-ку тоже, хотя никогда с таким не сталкивался. Проблему с приложением, которое скушало тысячи хэндлов надо все-таки решать. Влияет на работоспособность ОС в целом. Наверное где-то в цикле у него идет куча CreateObject(), но парные CloseHandle() отсутствуют. Кстати, в FPW 2.6.1 разблокирована отладочная функция SYS(998,[ResId]), показывающая сколько обьектов, какого типа и с какими характеристиками открыто и используется в FoxPro. Сразу после старта у меня выдает: ? sys(998) ---> картинок=15шт., курсоров=10шт., иконок=5шт., кистей=40шт., шрифтов=9шт. |
Re: FoxPro for Windows 2.6.1 | |
---|---|
korsak Сообщений: 269 Откуда: Киров (Вятка) Дата регистрации: 27.03.2007 |
Насколько я понял - это проблема не чисто фоксовая, так что решить тут наверно ничего не получится
И у меня на глючном компе вчера была ошибка - а сегодня уже нет. В общем простить MS за кривые руки и отпустить ;) Исправлено 1 раз(а). Последнее : korsak, 28.12.13 09:32 |
Re: FoxPro for Windows 2.6.1 | |
---|---|
foxygenex Автор Сообщений: 9 Дата регистрации: 08.12.2013 |
На сайте выложена для загрузки утилита-компоновщик самодостаточных EXE-файлов (standalone EXE) Linker.exe v.3.0 (1МБ).
myten.ru Помимо собственно сборки ESL библиотеки и скомпилированного приложения в монолитный исполняемый бинарник, в диалоговом окне также можно задать дополнительные опции сборки: заменить графическую иконку, запустить приложение FoxProW изначально в свернутом состоянии, подавить окно-заставку, изменить атрибуты выходного файла для запуска с сетевых дисков. В дальнейших версиях перечень опций модификации будет расширен, но для первого релиза хватит и того минимума, что есть. Линковщик сам по себе скомпонован как самодостаточный исполняемый файл. Исходный код в архиве прилагается. |
Re: FoxPro for Windows 2.6.1 | |
---|---|
foxygenex Автор Сообщений: 9 Дата регистрации: 08.12.2013 |
Потратил 2 дня на борьбу с дефолтным раскрытием главного окна SCREEN в максимум при том, что в коде линковщика командами MODIFY/ZOOM предписано центрировать главное окно FoxPro в определенных размерах с самого начала.
Выяснилось что это не баг, а фича. Через оконное сообщение WM_SIZE(Wparam=2.MAX) запускается цепочка расчета его координат, создание основного и фонового hDC в максимальных размерах. Косвенный вызов функции просчета при свернутом окне не помогает. Поэтому максимум что было сделано в версии Linker 3.1 - менее агрессивный режим раскрытия при выборе опции старта (*)Min - на доли секунды прорисовывается только заголовок-Title окна в полупрозрачном режиме, иконки Desktop смаргивают и все. Попутно выяснилось, что в FoxPro for Windows v.2.6 молчаливо реализована команда - "SIZE WINDOW TO ...| BY ...", пояснения к ней даны только начиная с версии VFP3. |
Re: FoxPro for Windows 2.6.1 | |
---|---|
Foxtrot Сообщений: 3408 Откуда: Куда: Дата регистрации: 25.04.2003 |
баловство все это ;)
------------------ Мойте ноги, моя ноги вы моете и руки |
Re: FoxPro for Windows 2.6.1 | |
---|---|
medstrax Забанен Сообщений: 5964 Дата регистрации: 23.03.2007 |
По моему баловство весьма полезное. Хотя бы собственные скиллы заапгрейдить. Помнится не так давно столкнулся с нездоровой работой строковых фунок в фоксе, захотелось кое-что переписать в рантайме. Пока руки не дошли, время не хватает, но в лбом случае толк какой-то будет
|
Re: FoxPro for Windows 2.6.1 | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Как занятие - возможно, как "конечный результат"... Ну мне, например, не надо И не думаю что целевая аудитория этого проекта будет сколь-нибудь значительной. Олдфаги уходят, софт переписывается, молодёжь на фокс, тем более FP*, ты уже калачом не заманишь (да и технологически ты FP* под "новые реалии" не подтянешь как бы ни старался - косметика одна). А смысл трогать рантайм, если как раз для этого придуманы fll? "Потрогав" рантайм в этой части ты с большой долей вероятности чего-нить где-нить сломаешь (я тя уверяю, вовсе не от "тупости" там все эти многочисленные "копирования строки туда-сюда" сделаны - это по сути защита). И так в определённых случаях можно "дописаться" до C005 - а убери ты "лишние защиты" - и их число (сбоев т.е.) заметно возрастёт... ------------------ WBR, Igor |
Re: FoxPro for Windows 2.6.1 | |
---|---|
foxygenex Автор Сообщений: 9 Дата регистрации: 08.12.2013 |
И все-таки напишу наверное еще пару демоутилит просто для показа доп.возможностей 2.6.1 и того как их задействовать в исходном коде. В одной будет представлен интерактивный построитель 2D графиков, в другой - аналог
VFP Grid'а со скроллированием содержимого БД. 2МБ exe-утилиты наверняка могут пригодиться для какой-нибудь простой переконвертации, переиндексации, наполнения DBF вне основного рантайма VFP в продакшне. Некоторые патчи начал делать еще 9 лет назад и просто не хочется, чтобы наработанное ушло "в стол". |
© 2000-2024 Fox Club  |