Hacker’s Guide to Visual FoxPro
An irreverent look at how Visual FoxPro really works. Tells you the inside scoop on every command, function, property, event and method of Visual FoxPro.
This is one of the Automation objects, exposed in VFP 6, that give us programmatic access to projects and their contents. Every time a project opens, a corresponding project object is created. The Projects collection is composed of Project objects. (Doesn’t that have a nice ring to it—“project object”?)
Property |
Value |
Purpose |
AutoIncrement |
Logical |
Indicates whether the project's version number is incremented every time the project is built. |
BuildDateTime |
DateTime |
Contains the date and time of the most recent build of the project. |
Debug |
Logical |
Indicates whether debugging information is stored with the project. |
Encrypted |
Logical |
Indicates whether compiled source code in the project is encrypted to provide a measure of extra security. |
HomeDir |
Character |
Contains the path to the home directory for the project. |
Icon |
Character |
Contains the file name for the icon used for an EXE built from the project. |
MainClass |
Character |
If an ActiveDoc is the main object for the project, contains the name of the ActiveDoc class. |
MainFile |
Character |
If a form or program is the main object for the project, contains its file name. If an ActiveDoc is the main object, contains the name of the class library containing the ActiveDoc class. |
Name |
Character |
Contains the path and file name for the project. |
ProjectHook |
Object |
If a project hook has been created for the project, contains a reference to it. |
ProjectHookClass, ProjectHookLibrary |
Character |
If the project has a project hook, contain the class name and class library name, respectively. |
SCCProvider |
Character |
Contains the name of the source control provider for the project. |
ServerHelpFile |
Character |
If the project contains server classes, contains the name of a help file for the type library for those classes. |
ServerProject |
Character |
If the project contains server classes, contains the name assigned to the project for Automation purposes. This is used along with the actual class name to instantiate the server classes. By default, this is the same as the project name. |
TypeLibCLSID |
Character |
If the project contains server classes, contains the unique ID created for registering the type library for those classes. |
TypeLibDesc |
Character |
If the project contains server classes, the description for the type library for those classes. |
TypeLibName |
Character |
If the project contains server classes, the name of the type library for those classes. |
VersionComments |
Character |
The comments from the Version dialog. |
VersionCompany |
Character |
The company name from the Version dialog. |
VersionCopyright |
Character |
The legal copyright information from the Version dialog. |
VersionDescription |
Character |
The file description from the Version dialog. |
VersionLanguage |
Numeric |
The language ID from the Version dialog. |
VersionNumber |
Character |
The three-part version number from the Version dialog. |
VersionProduct |
Character |
The product name from the Version dialog. |
VersionTrademarks |
Character |
The legal trademarks from the Version dialog. |
Method |
Purpose |
Build |
Rebuilds the project or builds the project into an APP, EXE, or DLL. |
CleanUp |
Packs a project file, optionally stripping the object code. |
Close |
Closes the project. |
Refresh |
Updates the visual display of the project and can update the source control status. |
SetMain |
Sets a file or class as the main object for the project. |
Most of the property values for a project can be found somewhere in the Project Manager, though some are pretty well hidden. A lot of the information, including server information, is in the Project Info dialog. You get to the various VersionWhatever properties by pressing the Version button in the Build dialog. At runtime, all the version information is available by calling AGetFileVersion()
in VFP 6 and later or FoxTool’s GetFileVersion() in VFP 5.
ActiveProject, AutoIncrement, Build, BuildDateTime, CleanUp, Close, Debug Property, Encrypted, File, Files, HomeDir, Icon, MainClass, MainFile, Name, ProjectHook Property, ProjectHookClass, ProjectHookLibrary, Refresh, SCCProvider, SetMain, ServerHelpFile, ServerProject, TypeLibCLSID, TypeLibDesc, TypeLibName, VersionComments, VersionCompany, VersionDescription, VersionLanguage, VersionNumber, VersionProduct, VersionTrademarks