Tracy,
Before sending out a new executable:
1. Build entire Executable with "recompile all" checked.
2. Recompile all class libraries.
3. Buile entire Executable with "recompile all" off.
I am not using VisualFox Express. The so called framework is comprised of a few tables which define things like:
1. SQL Statements for the form. This makes the application very portable between Oracle, SQL Server, VFP... Triggers for each database still reside with the database obviously.
2. Simple Form List
3. Page List for each pageframe
4. Grid Column definitions
5. A few other tables to link it all together...
These tables are linked to special objects which know how to interpret the data. For example, Grids have a special "BuildGrid" method which goes out and grabs all of the columns from the table and creates a new grid, instead of hardcoding the grid. Custom column objects are defined in a PRG and referenced in the Grid Column table so that BuildGrid can use the right object. Depending on which Column is chosen, custom header properties, custom TextBox properties are set. The same approach can be said of the Pages for a pageframe. The benefit of a custom Page over hardcoded Pages, is the ability to work better with the Activate method and less duplication of code.
Again this is just my way of doing things, slightly slower on a P4 1.6gig; but not annoyingly slow.
Gordon.