[comp.sys.ibm.pc] dBase Procedure File "Logistics" Problem

peter@aucs.UUCP (Peter Steele) (09/09/88)

I'm a fairly new dBase III+ programmer and I've run into a problem
with procedure files that I can't seem to find a straightforward way
around. Logically, my program consists of a main program, a procedure
file consisting of a set of utilities used by various other procedure
files, as well as several other procedure files each dedicated to a
particular task. My problem is that when I'm in one of the "task"
solving procedure files, I cannot access any of the utility routines
because only one procedure file can be open at a time, and I have to
call these utility routines in a variety of places (several subroutine
calls deep). The only way I can see around this problem is either (a)
put all the utility routines in each of the task procedure files; (b)
put each utility routine in its own procedure file of the same name as the
utility routine; or (c) convert to Clipper.

Solution (a) isn't really feasible as I have quite a few utility routines
and I would exceed the 32 proceduree limit. I don't like (b) simply because
I don't want to have a bunch of little files cluttering up my account (as
well as the slower execution speed this approach causes having to load the
routines every time they're accessed). (c) seems to be my only solution.
This is okay because I intended to convert to Clipper at the end anyway to
improve speed (if at all possible--I'm trying to avoid Clipper incompatible
code in my dBase work). However, Clipper takes soooo long to link, and it's
no speed demon as compiler either. I love dBase's environment because it
allows you to make a change and see it very quickly. Now, if Clipper had an
environment like Turbo Pascal, I wouldn't hesititate to switch.

So, my question is this: Am I overlooking something? Is there a way to
logically divide my program as I've indicated above and still be able
to develop in dBase or do I have to use another approach? Any replies
would be very much appreciated.

-- 
Peter Steele, Microcomputer Applications Analyst
Acadia University, Wolfville, NS, Canada B0P1X0 (902)542-2201x121
UUCP: {uunet|watmath|utai|garfield}!dalcs!aucs!Peter
BITNET: Peter@Acadia  Internet: Peter%Acadia.BITNET@CUNYVM.CUNY.EDU

prime@druhi.ATT.COM (Anthony Davis) (09/14/88)

In article <1247@aucs.UUCP>, peter@aucs.UUCP (Peter Steele) writes:
> I'm a fairly new dBase III+ programmer and I've run into a problem
> with procedure files that I can't seem to find a straightforward way
> around. Logically, my program consists of a main program, a procedure
> file consisting of a set of utilities used by various other procedure
> files, as well as several other procedure files each dedicated to a
> particular task. My problem is that when I'm in one of the "task"
> solving procedure files, I cannot access any of the utility routines
> because only one procedure file can be open at a time, and I have to
> call these utility routines in a variety of places (several subroutine
> calls deep). The only way I can see around this problem is either (a)
> put all the utility routines in each of the task procedure files; (b)
> put each utility routine in its own procedure file of the same name as the
> utility routine; or (c) convert to Clipper.
> ......... 
> (c) seems to be my only solution.
> This is okay because I intended to convert to Clipper at the end anyway to
> improve speed (if at all possible--I'm trying to avoid Clipper incompatible
> code in my dBase work). However, Clipper takes soooo long to link, and it's
						^^^^^^^^^^^^^^^^^^^^
Yes, this is VERY VERY true when using PLINK to link your programs. But,
Clipper supports other linkers, namely TLINK by Borland Int. Using TLINK speeds
up your link time by 80%(based on empirical studies only!! 8-) ). I've found
that linking with TLINK is extremely fast.

> no speed demon as compiler either.
     ^^^^^^^^^^^^^^^^^^^^^^^
Not so! Nantucket's new release "Summer 87" has a very *intelligent* and fast
compiler. It also does loop optimization and supports overlays. If you plan to
purchase Clipper, I'd suggest getting the latest release. Hope this helps!


#include "include/normal_disclaimer.h"

Tony Davis
AT&T Bell Labs, Denver Co.
local: druhi!prime
net:   att!druhi!prime