[comp.lang.pascal] Code size problems

marcos@caus-dp.UUCP (Marcos R. Della) (12/22/87)

I just got my copy of TP 4.0 about three weeks ago and have been busy
converting my BBS system from 3.0 to 4.0. Unfortunatly I ran into some
problems and after several calls to Borland, ran into a brick wall...

My original code contained 15 overlays that were converted into units.
These units were then optimized as all code was allowed in memory at once
and you didn't have to duplicate your efforts in several units. After
putting things all together I started getting "Out of Memory Error".

Boy oh boy was I disappointed. After talking to borland, I found out that
the system needed the entire program in memory to link the units together
and that there wasn't enough room in memory with the editor there. So they
recommended that I use the external compiler to put it together. Unfortunatly
that didn't work either so we tried to compile the system with the $L- set
off to get rid of the link buffer. Finally got the thing to compile with a
few bytes left over. I had no TSR's in memory and have 640k addressable. The
compiled code ended up around 251k in length.

I don't know about the units bit anymore. I like the idea and it makes things
really nice, but without overlays, there is NO method of handling a program
that starts getting a little large.

Any comments, suggestions, gripes, flames, etc. ;-)

Marcos Della

-- 
...!csustan ->!polyslo!caus-dp!marcos               | Whatever I said doesn't
...!sdsu ---/   Lt. Marcos R. Della                 | mean diddly as I forgot
...!csun --/    Smail:PO Box 8104 SLO,CA 93403-8104 | it even before finishing
...!dmsd -/     Tele: (805) 544-4900                | typing it all out!!! :-)

kent@humu.NOSC.MIL (Kent K. Kuriyama) (12/27/87)

In article <337@caus-dp.UUCP>, marcos@caus-dp.UUCP (Marcos R. Della) writes:
> I just got my copy of TP 4.0 about three weeks ago and have been busy
> converting my BBS system from 3.0 to 4.0. Unfortunatly I ran into some
> problems and after several calls to Borland, ran into a brick wall...
>
The lack of overlay's in TP 4.0 is a very serious shortcomming.  We have
a 3.0 application that has 30 screens that are all overlayed.  Under 4.0
all of these screens would be memory resident increasing the size of the
program by 120K.

One solution,al aalbeit painful would be to break up your program into
several programs which would be spawned in turn by the DOS exec function.

Kent Kuriyama
Naval Ocean Systems Center
Hawaii Laboratory
<kent@nosc.mil>

las@apr.UUCP (Larry Shurr) (12/30/87)

In article <431@humu.NOSC.MIL> kent@humu.NOSC.MIL (Kent K. Kuriyama) writes:
>In article <337@caus-dp.UUCP>, marcos@caus-dp.UUCP (Marcos R. Della) writes:
>> I just got my copy of TP 4.0 about three weeks ago and have been busy
>> converting my BBS system from 3.0 to 4.0. Unfortunatly I ran into some
>> problems and after several calls to Borland, ran into a brick wall...

>The lack of overlay's in TP 4.0 is a very serious shortcomming.  We have
>a 3.0 application that has 30 screens that are all overlayed.  Under 4.0
>all of these screens would be memory resident increasing the size of the
>program by 120K.

It may also be possible to solve the problem by using an overlay link
editor.  I have used Phoenix' Plink86 successfully (with Lattice C, this
was much too long ago for Turbo Pascal).  The successor to Plink is
Plink86 Plus.  I see in a recent PC-Brand advertisement that Plink86
Plus lists for $495 and is sold by PC-Brand for $326, creating the
spectacle of a link editor whose cost is many times that of the compiler.
Not such a great deal, hmmm... too bad.  As I recall, Plink86 was a
traditional link editor - somewhat difficult to use, but compensating
with useful features and also capable of linking extremely large programs
if somewhat slowly.  Maybe Borland should consider a new product: Turbo
OVLink?  Maybe Phoenix should consider Borland pricing policies.

regards, Larry
-- 
"The only thing worse than being talked about is not being talked about."
- Oscar Wilde, James Whistler or George Bernard Shaw depending on who you ask
Name: Larry A. Shurr (cbosgd!osu-cis!apr!las or try {cbosgd,ihnp4}!cbcp1!las)
Disclaimer: The above is not necessarily the opinion of APR or any APR client.