CLASSDATA
Define a CLASSDATA variable for a class (NOT for an Object!)
Syntax
CLASSDATA <DataName1> [,<DataNameN>] [ AS <type> ] [ INIT <uValue> ]
Arguments
<DataName1> Name of the DATA
<type> Optional data type specification from the following: Character, Numeric, Date, Logical, Codeblock, Nil
<uValue> Optional initial value at program startup
Description
CLASSDATA variables can also be thought of as the “properties” of an entire class. Each CLASSDATA exists only once, no matter how many objects are created. A common usage is for a counter that is incremented whenever an object is created and decremented when one is destroyed, thus monitoring the number of objects in existence for this class.
You can use the “AS <type>” clause to enforce that the CLASSDATA is maintained as a certain type. Otherwise it will take on the type of whatever value is first assigned to it. Use the “INIT <uValue>” clause to initialize that DATA to <uValue> whenever the class is first used.
Examples
CREATE CLASS TWindow DATA hWnd, nOldProc CLASSDATA lRegistered AS LOGICAL ENDCLASS
Compliance
Harbour
Platforms
All
Seealso
Object Oriented Programming, CLASS, METHOD, DATA
Pingback: Harbour Statements | Viva Clipper !
Pingback: Harbour Commands | Viva Clipper !