Microsoft KB Archive/191924

= INFO: Application Wizard Basic Architecture =

Article ID: 191924

Article Last Modified on 8/13/1999

-

APPLIES TO


 * Microsoft Visual FoxPro 6.0 Professional Edition

-



This article was previously published under Q191924



SUMMARY
This article describes the core components and classes used by the application framework. The application framework is the foundation for new applications generated by the Visual FoxPro 6.0 Application Wizard.

The Visual FoxPro 6.0 help topic entitled "Developing Applications Using the Application Framework" is the source of this information.



MORE INFORMATION
The following table lists files created and/or used by the Application Wizard for an application named Wines that tracks a wine collection. The Application Wizard creates files using a naming convention that incorporates the name of the application, as shown in the table.   Application File          Description ---

Wines.app                This is your application created from the Build dialog box.

Wines.pjx(pjt)           This is your project file.

Wines_app.dbf(fpt, cdx)  This is the meta-table which stores form and report information entered into the Application Builder.

Wines_app.h              This include file contains a number of                             settings controlling the application framework, each of which you can set.

Wines_app.log            This is a log file you can use to record changes during application development.

Appuser.dbf(fpt, cdx)    If you choose to include User Login dialog boxes, this file is created to store password and user preferences (option settings and                            favorites).

Config.fpw               Contains run-time startup settings including the ability to hide the Visual FoxPro desktop if the Top-Level form option is selected.

Libs\Wines_app.vcx(vct)  These are the classes used by your application. They are subclassed from the framewk library enabling you to modify these at will. Avoid editing the classes in _FRAMEWK if possible.

Menus\Wines_main.mnx(mnt) This menu is used when you set the application type to Normal.

Menus\Wines_go.mnx(mnt)  This is the navigation menu used by forms when the navigation menu option is selected in the Forms tab of the Application Builder.

Menus\Wines_top.mnx(mnt) This menu is used when you set the application type to Top-Level.

Menus \Wines_append.mnx(mnt)   This menu is used when you set the application type to Module.

Progs\Wines_app.prg      This is the main program, the point from which an application starts. It performs the following functions:

- Displays Splash screen.

- Creates the application object.

- Sets the application paths and settings.

- Starts the application.

Vfp\Wizards \_Framewk.vcx(vct)       The framework contains the core set of classes used by the application framework. These include common classes such as: splash and aboutbox dialog boxes, application object, userlogin, and the standardtoolbar to name a                            few. Most of these classes are subclassed in                            the Wines_app.vcx library. If you make changes at all, change classes in Wines_app and not in                            _framewk.

Vfp\Ffc\_app.vcx(vct)    This foundation class library contains classes used to manage an application environment.

Vfp\Ffc\_base.vcx(vct)   This is the class library containing base classes from which all foundation classes are subclassed.

Vfp\Ffc\setobjrf.prg     This file is used internally by the classes in                             _base.

Vfp\Ffc\_reports.vcx(vct) This foundation class library contains classes used to handle reporting and output.

Vfp\Ffc\_table.vcx(vct)  This foundation class library contains classes used to perform all data querying and navigation.

Vfp\FFC\_UI.vcx(vct)     This foundation class library contains classes used to manage various user interface routines such as Windows management. In this example, the class library in which you would most likely want to modify the application framework is Wines_app.vcx. The following table lists the classes:   Application-Specific Class     Description ---

App_aboutbox                  Provides an About dialog box.

App_application               Manages all operations and events in the application.

App_changepassword            Provides a Password dialog box.

App_errorlogviewer            Provides an Error Log dialog box.

App_favoritepicker            Provides a Favorites menu and item picker.

App_navtoolbar                Provides data Navigation toolbar functionality.

App_newopen                   Provides New and Open dialog box functionality.

App_options                   Provides an Options dialog box.

App_reportpicker              Displays a dialog box to select reports for printing.

App_splash                    Provides an application Splash screen.

App_standardtoolbar           Provides Standard toolbar functionality.

App_topform                   Provides a form frame object with menus for Top-Level applications.

App_userlogin                 Provides a User Login dialog box. These classes enable you to create or access supporting forms and dialog boxes in your application.

Because the Application Wizard adds Foundation Classes to your application project, you can also change the basis of the form and reports that comprise your application.

You can use wizards to create new databases, tables, forms and reports for the project from which you create your application. You can use the Class Browser to subclass the classes from which your forms and other application objects and functionality are generated.

