From: Tom Hansen
Subject: Large App in PDS -- Convert to PowerBASIC?
We have a very large application, built using Microsoft PDS Basic 7.1.
We have looked at PowerBASIC and are very interested in what seems to
be very large improvements in the memory management and general
performance of the compiler and environment in general over PDS.
However, we have serious concerns about our ability to adapt our
application to PowerBASIC.
The general structure of the program is a "menu" program which
CHAIN's to other EXE's to perform various functions, all of which
then CHAIN back to the menu. There are over 100 individual EXE's
in this application.
One key feature of PDS BASIC which we extensively use is the
"runtime" feature. We have a large set of "common" routines
(such as a generic database engine which utilizes Btrieve)
which are called by all the EXE's. The "runtime" feature allows
us to have all those routines (nearly 300K of them, compiled) in just
one EXE. This "runtime" gets loaded into memory automatically when
one of our programs is loaded.
Our main concern with converting to PowerBASIC is that we would have
to revert to linking our library into every one of our over 100 EXE's,
which would very substantially increase the total size of the system,
probably tripling or quadrupling the total size of all the EXE's.
The EXE's are already over 16 megs total; if we had to link the
common routines into every program, that total would increase to
over 48 megs. This is an unacceptable price for converting to
PowerBASIC.
I'm hoping that perhaps there is a feature in the latest 3.5 version
of PowerBASIC, or perhaps a 3rd party add-on, that could make our
conversion to PowerBASIC do-able.
Perhaps we could somehow utilize the "TSR" features of PowerBASIC to
make our "runtime" into a TSR that could then somehow be CALLED from
our programs. Has this been done???
It should be theoretically possible to create some sort of jump table
and have a small OBJ linked into each EXE, in which there would
be small "stubs" for each SUB in the runtime, and these
"stubs" would access the jump table to actually CALL the correct
routine in the TSR. We don't have the time or resources to explore
this possibility ourselves, but it at least indicates that perhaps
someone out there may have done it.
--
Tom Hansen
tomhNOSPAM@execpc.com
http://www.execpc.com/tomh
*** QwkNews (tm) v2.1
* [TN71] Toast House Import
--- GEcho 1.20/Pro
---------------
* Origin: Toast House Remote (1:100/561)
|