Path: utzoo!attcan!uunet!lll-winken!lll-tis!helios.ee.lbl.gov!pasteur!ucbvax!hplabs!hpda!hpcupt1!hpisoa2!raphael
From: raphael@hpisoa2.HP.COM (Bert Raphael)
Newsgroups: comp.sys.ibm.pc
Subject: Re: Oddities in Turbo Pascal 4.0
Message-ID: <1100004@hpisoa2.HP.COM>
Date: 27 Jun 88 23:20:06 GMT
References: <23497@bu-cs.BU.EDU>
Organization: Hewlett Packard, Cupertino
Lines: 20

While we're on the subject, here's a tip on Turbo Pascal 4 that had
me going in circles for a while: 
The manual says that if you have several units used in your program,
the order of their names in the 'uses' statement does not matter.
NOT TRUE!  If the same identifier (variable, constant, procedure, etc.)
appears in the interface portion of more than one used unit, the system
gives you NO indication of the possible conflict, but merely uses the
copy in the most recently loaded Unit.  If you have Units using other
Units in creative ways, the resulting conflicts can be amazing.
I had many overlays in Pascal 3, with various amounts of duplication
in their code.  Simply converting each one to a Pascal 4 Unit caused
all kinds of problems, until I went through and made the Units essentially
disjoint.  There is not much help from the system to do such restructuring,
but the results are worth it!

I too would like some advice on understanding the environment set up by
Turbo Pascal 4.  When I tried adding the TAccess Unit (from the DataBase
ToolKit) to my large system, I got a "Heap error--103", which doesn't go
away no matter where I put the Heap boundaries, and I don't know what
RAM limits I'm exceeding, or what parameter settings or code modifications
might help!  Anyone have any suggestions?