Michael,

>>By creating several APPs instead of one big, all encompassing EXE, do you 
>>manage memory better via
your application's performance since in theory, when an APP was done, it'd be 
released from memory?
(Assuming that's how it works?!?)<<

One of the problems with APPs called from a single EXE is the management of 
things like SET PATH,
SET CLASSLIB, SET PROCEDURE, SET LIBRARY, etc. In particular, SET CLASSLIB and 
VFP's class caching
is a pain in the neck when you use this model. Specific to an example: you may 
have your main
program use a base label object from your base class class library to display 
something on the
desktop. Your APP module also has the same class library compiled in it to 
display labels within the
APP module functionality. Your APP will use the one cached in memory by the EXE.

The EXE might never get updated, and the APPs probably will on a regular basis. 
The APPs will get
the latest and greatest updates of the base class library during each build. 
What happens is the
APPs will still use the version of the base classes from the EXE because VFP is 
caching them. First
in, first used. I ran into this at a client here in Detroit that you know. It 
was a nightmare to
maintain, and in the end, you will find yourself compiling everything all the 
time to avoid this
problem. 

The opposite way works as well. Say the APP is the first to bring into a cache 
a specific class and
class library. The user finishes with this APP module and executes something 
from the core EXE or
another APP module. Those will use the APP cached class which may be the same 
version, and older
version, or a newer version. Hopefully it will be some compatible version. Do 
you feel lucky?

This is not to say you cannot clear out the cache, or figure a way to release 
everything as you go
in and out of the APP modules. I think life is too short to worry about 
managing these things.
Otherwise I might enjoy coding in C++ more than a high level language such as 
VFP.

It is my opinion that this model might work for something like account packages 
where users focus
only on one module or at least one module at a time. If your app is going to be 
event driven and
different modules will have active components at the same time, then I think 
you best consider not
using this technique.

I'll be interested in hearing if others have solved this and are using this 
architecture.

Rick
White Light Computing, Inc.

www.whitelightcomputing.com
www.rickschummer.com
586.254.2530 - office
586.254.2539 - fax



_______________________________________________
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://leafe.com/mailman/listinfo/profox
OT-free version of this list: http://leafe.com/mailman/listinfo/profoxtech
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Reply via email to