fluteplr,
I agree with you on the part that the use of DBC is made somewhat as a 'no go'.
The reason is often that people are used to using free tables and do not (I guess) have the time to learn the new features of a DBC.
The DBC has not been invented for nothing.
I my app I use DBC's and table buffering and it works fine for me. I did not have to learn many things to accomplish that.
In my own experience, I learned that to put in the time to learn how things work, often pays itself back.
The same goes for using OOP in VFP. I often see (no offense intended), a VB type of approach to VFP, as where programmers use forms to start an application. With this I mean that I personally do not find the forms that interesting as where the logic and the ease of programming behind it all, is much more interesting and important (to me at least).
Using OOP enables you to make consistent forms that have the same look and feel throughout your application. Once you establish that in your baseclasses, programming other maintenance forms (or other types) can be made so easy, that you will have made a maintenance form within minutes by only subclassing and setting properties (the logic is already in the baseclasses).
The same goes for using Free tables vs DBC.
I would like to advice TheManiac to invest some time to learn more about the use of DBC's, views, table buffering and transactions.
They can be used very easily once you get the hang of it.
Forget about SCATTER and GATHER MEMVAR (at least for the moment), use things like table buffering/views, tableupdate(), tablerevert() etc.
You can all find it back in the MSDN/VFP online library/VFP programmers guide at the Microsoft site.
Good luck,
HTH,
Weedz (Wietze Veld)
My private project:
CrownBase source code can be downloaded !!