RU/2: Forum. Discussion for users and developer OS/2 (eCS). : Последняя версия VXREXX


Message list | Post new message | Reply to current | Home Search:
Previous message | Next message
From : ???
To : Aleksey Tarasow
Subj : Последняя версия VXREXX

> > -- Разобрался, NLS функции находятся в сорсах Самбы на Нетлабсе.
>
> Может пока на забыл накидаешь инструкцию по сборке последней версии?
>

А там просто. В HPFS диске #6 есть в дире rexx/vxrexx/vx215 VXREXX 2.1b. Чтобы его усетупить, надо ставить в виртуалку с осью. Иначе будет ругань в инсталляторе про "сильно мало места на диске" (в 2.1b) или проблемы были с разрешением экрана (у меня fullhd монитор, и инсталлятор выводит диалог, который вылазит за пределы окна инсталлятора -- только уголок диалога торчит в верхнем правом углу инсталлятора). А если ставить в виртуалку, то таких проблем не будет. Потом заархивируешь каталог с установленным VXREXX-ом, и перенесешь на основную машину, вместе с настройками CONFIG.SYS (VXREXX прописывается в LIBPATH, PATH, HELP, BOOKSHELF и добавляет переменную set VXREXX=c:VXREXX;).

Потом применяешь патчи с Хоббеса. Они кумулятивные -- сначала ставишь Patch C, потом Patch D. Для установки патча надо скопировать все файлы из архива патча в корень VXREXX, и запустить PATCH.CMD.

Ну и, запустить командник VXREXXbuildvrx.cmd, он создаст десктопные объекты. Все :)

PS: Я еще ковыряю Regina REXX (в рамках проекта osFree как опенсорсную замену IBM Classic REXX). Щас сделали 16-итные врапперы фунок из REXX.DLL И REXXAPI.DLL (теперь регина работает не только с 4os2 (который 32-битный), но и с CMD.EXE (который 16-битный)) и из этих двух длл сделали переключалку REXX-а. Для этого переименовали REXX.DLL и REXXAPI.DLL от Classic REXX-а в rexc.dll и rexcapi.dll, и от Object REXX-а в rexo.dll и rexoapi.dll. (делается это спец. утилитой renmodul, она переименовывает сам модуль и импорты). Тогда если задать переменные окружения:

set rexx_dll=rexc
set rexxapi_dll=rexcapi

то будет юзаться Classic REXX. Если задать

set rexx_dll=rexo
set rexxapi_dll=rexoapi

то будет юзаться Object REXX. А если задать

set rexx_dll=regina
set rexxapi_dll=regina

то будет юзаться Regina REXX. Т.е., задаешь эти две переменки в окне cmd.exe/4os2.exe, стартуешь новое окно с этим окружением, и в нем уже будет юзаться соответствующий интерпретатор. Так я в трех разных окнах могу юзать три разных интерпретатора. Проверить, какой текущий интерпретатор, можно через rexxtry.cmd, он показывает строку из "parse version".

А еще склонировали утиль rexqueue.exe и rexxinit.dll/rexxinit.exe. REXXINIT.DLL достаточно загрузить в память, и она стартует поддержку очередей REXX-а. Т.е., он запускает тред, слушающий очередь queuesrxqueue. И все операции с очередями REXX прроходят через эту очередь. Без REXXINIT не работает REXX. При загрузке в комстроку достаточно запустить rexxinit.exe, и она загрузит rexxinit.dll. В графрежиме REXXINIT загружается pmshell-ом (прописывается в SYS_DLLS). Ну, и TSHELL тоже сам умеет его грузить.

Щас вот пытался подружить Регину с VXREXX -- пока безуспешно. А вот VREXX с Региной успешно работает. VXREXX-овые проги, судя по логу, грузят все успешно, коды возврата из фунок REXXAPI нулевые, но что-то идет не так и оно молча завершается. Трапов в попапалоге тоже нет.

И вот еще, RexxBase (длл на рексе для файлов dBASE) работает нормально с Региной.

Если интересно, могу дать поиграться ;-)


Mon 01 Oct 2018 22:52 Mozilla/5.0 (OS/2; Warp 4.5; rv:38.0) Gecko/20100101 Firefox




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.