Wiki Home

VFP Vcx Structure


Namespace: Wiki
Here are the fields in the VFP VCX structure, and their meanings. The fields below represent one row in the VCX file whose Platform is not 'COMMENT'; we will call each row an 'Object'. Multiple rows or 'Objects' may be needed to define a 'Class' inside a VCX file.

A VCX file can define multiple Classes, each Class begins with an Object whose Parent is empty. If the Object is a container class, Subsequent objects with a non-empty Parent comprise the entire Class definition. Every Class ends with non-Object row where the UNIQUEID equals 'RESERVED'.
Platform: Identifies the object's platform (usually 'Windows')
Uniqueid: Contains a unique identifier for the object
Timestamp: Specifies the last time the object was changed - see Calvin Hsia Blog
Class: Memo contains the name of the class that this object inherits from.
Classloc: If Class is not a base class, the memo contains the .VCX file name containing the inherited class' definition. If the class is a base class, the memo is empty.
Baseclass: The name of the base class for the Class - and therefore also the base class of this object. Identical to Class if the Class is a base class.
Objname: Memo contains the object's Name property. The Name property is also included under the properties Memo field below.
Parent: Memo contains the object container's Name property.
Properties: Memo contains a list of the object's properties and their values that change the inherited properties from the Class in Classloc.
Protected: Memo contains a list of the object's protected members
Methods: Memo contains the object's method and event code that change the inherited method and event code from the Class.
Objcode: Memo contains the compiled version of the event code in binary format
Ole: Memo contains binary data used by ActiveX controls
Ole2: Memo contains binary data used by ActiveX controls
Reserved1: contains 'Class' for class main records
Reserved2: If a container base class, the number of items contained therein, corresponding to the next n records in the VCX.
Reserved3: List of custom members: {type name [description]} where type = '' for non-array properties, '*' for methods, '^' for array properties
Reserved4: Custom class icon: relative path and file name of the bitmap if any
Reserved5: Custom Project Manager or Class Browser icon: relative path and file name of the bitmap if any
Reserved6: ScaleMode of the class: Pixels or Foxels
Reserved7: Class description
Reserved8: Include file: Path and file name, if any
User: Memo is reserved for developer comments
Category VFP Meta Data

You can also find the FRX Report table structure detail here: http://mattslay.com/foxpro-report-frx-table-structure/

The SCX structure is almost the same as the VCX structure. The difference lies in the first row of each file (the 'COMMENT' row).
( Topic last updated: 2011.07.07 04:42:03 PM )