Define a CLASSDATA variable for a class (NOT for an Object!)
CLASSDATA <DataName1> [,<DataNameN>] [ AS <type> ] [ INIT <uValue> ]
<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
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.
CREATE CLASS TWindow DATA hWnd, nOldProc CLASSDATA lRegistered AS LOGICAL ENDCLASS
Object Oriented Programming, CLASS, METHOD, DATA