Pablo,
>1. VFP does not automatically create a constant file (.h) for the class libraries but VFP will,
automatically and without further coding, add the constant values of the classes within the library that you use.
No it won't do anything automatically. (Except in VFP7 with the new global include file setting, but frankly I find that a far from perfect solution). I have a baseclass library called ccontrol.vcx it has an include file ccontrol.h. In this .h file I have
#include foxpro.h
along with whatever #defines are needed by any of the classes. ccontrol.vcx has a subclass of every VFP baseclass in it. This classlib is where I "fix" all of the problems that exist in the VFP controls, like backspace taking taking focus out of a control to the previous one, labels not being autosized etc.
Every other class I create is derived from some class in ccontrol. So every classlib that derives a class from ccontrol.vcx has in it's include file
#include ccontrol.h
this now gives access to everything in ccontrol.h and foxpro.h.
If and only if a class needs a #define constant I set the class include file to the classlib.h. So if I have classlibX every class in that classlib uses classlibX as it's include file.
>2. So in order for item 1 above to happen you must manually create an empty "library_name.h" of the
library(ies) that contain the
classes you intend to use in the project, and, of course include those files in the project.
The include file is never empty, it always #includes the classlib .h files for the classlibs it is deriving from.
>3. The above is true whether you use a "framework", such as CodeBook, MM, VMP, or other... [I know you didn't cover this, but I'm trying to cover as much ground with this question as possible. And no, I haven't purchased a framework yet since I am only learing the nuances of VFP itself as a pre-requisite, and have only done a few simple projects so far... :(]
I'm pretty sure that every framework is going to use it's own set of include rules. I've never looked deep enough into any of them to know how they handle the issue. You might see if this has been covered in the framework comparison articles over on the Wiki.