Page 1 of 1
sQLux Detection
Posted: Sat Aug 06, 2022 8:13 pm
by Derek_Stewart
Hi,
I use SMSQ/E in QPC2, SMSQmulator and sQLux using the same QLWA container, so the boot file selects the extenstions to be loaded, based on the VER$ being equal to 'HBA' and the SMSQ/E MACHINE function.
If sQLux is running, I use the UQLX_RELEASE$ to load sQLux extensions, is there a better way to detect if sQLux is running?
Re: sQLux Detection
Posted: Sat Aug 06, 2022 8:48 pm
by tofro
Derek_Stewart wrote:Hi,
I use SMSQ/E in QPC2, SMSQmulator and sQLux using the same QLWA container, so the boot file selects the extenstions to be loaded, based on the VER$ being equal to 'HBA' and the SMSQ/E MACHINE function.
If sQLux is running, I use the UQLX_RELEASE$ to load sQLux extensions, is there a better way to detect if sQLux is running?
If you want a non-uqlx-specific command, you can try to OPEN the "pty" device - if it works, you're likely on uqlx/sQlux.
Re: sQLux Detection
Posted: Sat Aug 06, 2022 10:18 pm
by XorA
tofro wrote:Derek_Stewart wrote:Hi,
I use SMSQ/E in QPC2, SMSQmulator and sQLux using the same QLWA container, so the boot file selects the extenstions to be loaded, based on the VER$ being equal to 'HBA' and the SMSQ/E MACHINE function.
If sQLux is running, I use the UQLX_RELEASE$ to load sQLux extensions, is there a better way to detect if sQLux is running?
If you want a non-uqlx-specific command, you can try to OPEN the "pty" device - if it works, you're likely on uqlx/sQlux.
That does not work on all platforms though (windows does not have PTY).
Re: sQLux Detection
Posted: Sat Aug 06, 2022 10:20 pm
by XorA
Didnt someone somewhere else mention an extension where you can do
EXISTS UQLX_RELEASE$
To test for existence with still being generic?
Re: sQLux Detection
Posted: Sat Aug 06, 2022 10:23 pm
by XorA
Re: sQLux Detection
Posted: Sat Aug 06, 2022 11:09 pm
by Derek_Stewart
Yes that could be done, but I would have to load DJTK.
The PTY idea, could work, since I do not use Windows.
My current solution of testng UQLX_RELEASE$ for string. a null string wod mean it is not sQLux or UQLX.
The reason for this, SMSQ/E uses the lastest version of QPAC2, MENU_REXT, SYSMON. But sQLux running Minerva, can not run the latest versions of the software.
Re: sQLux Detection
Posted: Mon Aug 08, 2022 1:27 pm
by pjw
Derek_Stewart wrote:
Yes that could be done, but I would have to load DJTK. <>
Theres also
FINDNAME% at Knoware.no, a single command toolkit that does the same. You can also check for the existence of toolkit extensions from S*BASIC using the example code shown there; ie no toolkit involved.
Re: sQLux Detection
Posted: Mon Aug 08, 2022 3:52 pm
by RalfR
There are also several others, like "ISIT" from IDIS SE.
A clever way for procedures is in one of Steve Jones (SideWinder) program disks: An MC utility, which converts a resident MC procedure into an MC function. Say, to convert "OUTL" into "F_OUTL" which generates ERR.NI as a result, if QPTR is not present.
I can look on my disks to find it (hopefully).
Re: sQLux Detection
Posted: Mon Aug 08, 2022 4:31 pm
by pjw
RalfR wrote:There are also several others, like "ISIT" from IDIS SE.
The point was if he doesnt like to load a whole toolkit for just one command.
RalfR wrote:A clever way for procedures is in one of Steve Jones (SideWinder) program disks: An MC utility, which converts a resident MC procedure into an MC function. Say, to convert "OUTL" into "F_OUTL" which generates ERR.NI as a result, if QPTR is not present.
Clever if the command doesnt exist, but perhaps not so much if it does..
Re: sQLux Detection
Posted: Mon Aug 08, 2022 7:27 pm
by Derek_Stewart
Hi,
The process I use for the boot file to determine if sQLux is running is to check the Function UQLX_RELEASE$, which is defined with the UQLX release version data.
SMSQ/E will see it has a null string and JS would see it as an undefined string.
This seems to work , but it may not be very elegant.
I do not want add more extensions to check something is installed or not.
The problem is that Minerva will only run certain versions of QPAC2 , MENU_REXT, needs PTR_GEN, WMAN, HOT_RECT of a certain version not the up to date versions.
I was going have use 2 version of QD, but I am starting to use MicroEmacs, with the SuperBasic syntax highlighting is nice to use.
I just need a MicrEmacs macro to execute multibasic, using pipep, and load the Superbasic program.
Or maybe use SSB to run the Superbasic program from MicroEmacs.