Tools Available with Visual FoxPro 3.0 Professional

Last reviewed: February 12, 1997
Article ID: Q130825
The information in this article applies to:
  • Microsoft Visual FoxPro for Windows, Professional Edition, version 3.0

SUMMARY

This article describes the following tools available only in the Professional Edition of Visual FoxPro:

  • Running BUILDAPP.PRG with the BuildEXE parameter.
  • Using the Class Browser Window.
  • Using the Image Editor.
  • Using the OLE Controls Sample.

NOTE: The information in this article is also available in various help topics in the Visual FoxPro Help file, under Contents, Professional Reference, Tools, and Samples.

MORE INFORMATION

Running BUILDAPP.PRG with the BuildEXE Parameter

BUILDAPP.PRG strips the method and event code of .SCX and .VCX files from .APP and .EXE files for distribution purposes. BUILDAPP.PRG is located in the Visual FoxPro TOOLS\BUILDAPP directory.

In Visual FoxPro, source code is usually stored in the Methods field of all .SCX and .VCX tables. When you build an application, these fields are included in the build and the code is included in the .APP file. BUILDAPP strips the code from the methods field before the final application build and restores files to their original state following the build. By building files without source code, your .APP files are smaller and more secure.

The syntax for BUILDAPP.PRG is:

DO BUILDAPP [WITH ProjectName [, AppFileName [, DebugMode [, BuildEXE]]]]

  • ProjectName specifies the name of the project. If it is not included, a Locate File dialog box is displayed.
  • AppFileName, if specified, instructs BUILDAPP to build the application with this name and an .APP extension. If you do not specify AppFileName, the application is built with the ProjectName and an .APP extension. If you specify an AppFileName with an .EXE extension, an .EXE is built; this feature is available only in the Professional Edition of Visual FoxPro.
  • DebugMode sets debug mode on. Debug mode is off by default. To set debug mode on, set DebugMode to true (.T.).
  • BuildEXE builds a compact .EXE file instead of an .APP file. BuildEXE is off by default. To build an .EXE file, set BuildEXE to true (.T.). BUILDEXE is available only in the Professional Edition of Visual FoxPro.

If you run BUILDAPP without specifying any arguments, a form is displayed prompting you for the required information. BUILDAPP performs the following operations:
  • Locates files.
  • Opens the project.
  • Sets debug mode.
  • Builds the application from original project files. This ensures that the source code in the Methods fields in all .VCX and .SCX tables is compiled and the P-code is stored in the corresponding ObjCode field in each table. During the application build, if an error is found, the error is displayed, and you can choose Ignore, Suspend, or Cancel. Builds must be error-free for BUILDAPP to execute completely.
  • Creates and populates an array with file names corresponding to every .VCX and .SCX file in the project.
  • Packs .VCX files to remove any orphan records.
  • Copies Methods fields from all .VCX and .SCX tables to temporary tables in the array.
  • Replaces all Methods fields with ' ' (blank string), copies the tables to a temporary location, removes records from the original table, appends the temporary tables (with empty Method fields) back to the original tables, and deletes the temporary files.
  • Rebuilds the application.
  • Restores all Methods fields in the original tables, deletes all temporary files, and restores the project to its original state.

No permanent changes are made to the project when you run BUILDAPP.

Using the Class Browser Window

The Class Browser available in the Professional Edition of Visual FoxPro displays the classes in a class library or a form. You can use the Class Browser to view, use, and manage classes and their user-defined members.

To use the Class Browser, choose Class Browser from the Tools menu and specify a file, or type DO (_BROWSER) in the Command window.

The Class Browser consists of these tools:

  • Class Browser buttons, which perform various Class Browser commands.
  • Pushpin button, which controls the state of the Class Browser window. When the button is in the down position, the window remains on top, even when other windows are active. When the button is in the up position, the Class Browser window does not remain on top.
  • Type box, which allows selection or entry of a class type or character string to filter the class list. The drop-down list shows the base classes. The list also keeps a history of class types and filters you have selected or entered for the current instance of the Class Browser.
  • Hierarchical option, which displays the classes in a hierarchy so that class trees can be expanded or collapsed.
  • Alphabetical option, which displays the classes alphabetically.
  • Protected check box button, which displays protected members in the member tabs. Protected members are indicated by an asterisk (*).
  • Empty check box button, which displays empty methods in the member tabs. Empty methods are indicated by a tilde (~).
  • Class icon, which displays an icon representing the selected class. The icon can be dragged to a form to add an object of that class to the form. A user-defined bitmap can be assigned to the class icon.
  • Class list, which lists the classes and subclasses contained in a class library (.VCX) or form (.SCX) in an outline-like view. Folder icons appear next to each class and subclass. A chevron (<<) next to a class indicates that the parent class is in a file that is not displayed in the current Class list. To see the parent class, double-click the folder. To modify any class in the Class Designer, double-click the class name.
  • Member tabs, which display user-defined members for the selected class by member type. Members inherited from base and parent classes do not appear in the tabs. The first column indicates the member type with a lowercase letter. For example, "o" indicates an object member. Choose a tab to look for a specific member type.
  • All, which displays user-defined object members, properties, methods, and instances for the selected class.
  • Object members, which displays object members for the selected container class. Protected members are indicated by an asterisk (*) and are only included if the Protected button is clicked.
  • Methods, which displays method members for the selected class.
  • Properties, which displays property members that define attributes for the selected class.
  • Instances, which displays current objects based on the selected class.
  • Class Description box, which displays a description for the selected class. This box is located at the bottom-left of the Class Browser window. You can edit the description in this box.
  • Member Description box, which displays information about the selected member of a class. This box is located at the bottom-right of the Class Browser window. For object members, the box is a read-only display of class library, class, and base class. For property or method members, the box displays a description you can edit. For instances, the box displays a read-only description that includes the variable scope (public or hidden), member names, and property values.

Using the Image Editor

To view and edit bitmaps, cursors, and icons, use the Image Editor (IMAGEDIT.EXE). To use the Image Editor, choose the Image Editor icon in your Visual FoxPro group, or Run IMAGEDIT.EXE.

The Image Editor is available only in the Professional Edition of Visual FoxPro if you choose either the Complete installation or choose Utilities from the Professional Tools section of the Custom installation. For more information on viewing and editing images, please see the Image Editor help file (IMAGEDIT.HLP).

Using the OLE Controls Sample

OLE controls, such as the Outline and MAPI controls in your Window SYSTEM directory, are prepackaged objects.

You cannot create OLE controls with Visual FoxPro. However, you can get them from independent software vendors or create them using the Microsoft OLE Custom Control Developer's Kit (CDK) provided with Microsoft Visual C++ version 2.0.

OLE controls are versatile because you can subclass them to create other controls, and you can control them by using their associated events, methods, and properties.

The following OLE control samples are provided with Visual FoxPro:

  • Outline control sample, located in the Visual FoxPro SAMPLES\OLE directory. The OUTLINE1.SCX form demonstrates how to use the Outline custom control. It contains sample code that allows the user to select a database and populate the outline with the tables and views contained in the database. You can view the fields and indexes in each table by expanding the outline.
  • MAPI controls sample form, located in the Visual FoxPro SAMPLES\OLE directory. The SENDMAIL.SCX form demonstrates how to use the MAPI Message and MAPI Session controls to start a mail session, gather data from the current record, and create and send a mail message that contains that data.
  • MAPI controls sample class, located in the Visual FoxPro SAMPLES\OLE directory. The MAPIBTN.VCX visual class library contains a sample container class. This class, mailbtn, contains a command button, a MAPI Message control, and a MAPI Session control. This class has the same functionality demonstrated in the MAPI controls sample form and can be added to any form.


KBCategory: kbtool
KBSubcategory: FxtoolGeneral
Additional reference words: 3.00


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.

Last reviewed: February 12, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.