>if a class include file1.h and in file1.h you have #include file2.h it's still an issue that you need to recompile manually. At least that's my impression as you still get some *#@§$&@* variable ... not defined messages. Set recompile all in build options is the way to go.
That's what I have a little a.prg for:
MODIFY PROJECT {pjx name here} NOSHOW nowait
op=_vfp.Projects(1)
op.Debug=.t.
op.Encrypted=.f.
op.close()
RELEASE op
BUILD APP "{app name here}" FROM "{pjx name here}" recomp
_screen.AddProperty("here",SET("dire"))
DO {app name here}.app
CD (_screen.here)
REMOVEPROPERTY(_screen, "here")
The _screen.here is there because of the cases when a nasty component (like a printer driver) may change the directory - which needs to be checked and weeded out anyway.
There's a similar b.prg which builds the exe, just with debug off and encrypt on.
So yeah, I recompile dozens of times a day. Finally enjoying a fast enough machine once in my life :). The components (power supply, motherboard, processor, memory and video card) cost less than $500 and I put the box together in about an hour. Worth every penny.