Q191924: INFO: Application Wizard Basic Architecture
Article: Q191924
Product(s): Microsoft FoxPro
Version(s): WINDOWS:6.0
Operating System(s):
Keyword(s):
Last Modified: 13-AUG-1999
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Visual FoxPro for Windows, version 6.0
-------------------------------------------------------------------------------
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.
REFERENCES
==========
Visual FoxPro 6.0 Help; search on: "Developing Applications Using the
Application Framework"
Additional query words: PGFest600 kbVFp600 kbwizard kbFFC
======================================================================
Keywords :
Technology : kbVFPsearch kbAudDeveloper kbVFP600
Version : WINDOWS:6.0
Issue type : kbinfo
=============================================================================
THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.
Copyright Microsoft Corporation 1986-2002.