- contrib/hbct/doc/en/ct.txt
* contrib/hbct/doc/en/ctc.txt
* contrib/hbct/doc/en/strdiff.txt
* contrib/hbct/doc/en/token2.txt
* contrib/hbgt/doc/en/hbgt.txt
* contrib/hbmisc/doc/en/dates2.txt
* contrib/hbmisc/doc/en/ht_class.txt
* contrib/hbmisc/doc/en/ht_str.txt
* contrib/hbnf/doc/en/aavg.txt
* contrib/hbnf/doc/en/acctadj.txt
* contrib/hbnf/doc/en/acctmnth.txt
* contrib/hbnf/doc/en/acctqtr.txt
* contrib/hbnf/doc/en/acctweek.txt
* contrib/hbnf/doc/en/acctyear.txt
* contrib/hbnf/doc/en/adapter.txt
* contrib/hbnf/doc/en/aemaxlen.txt
* contrib/hbnf/doc/en/aeminlen.txt
* contrib/hbnf/doc/en/alt.txt
* contrib/hbnf/doc/en/amedian.txt
* contrib/hbnf/doc/en/anomatch.txt
* contrib/hbnf/doc/en/any2any.txt
* contrib/hbnf/doc/en/aredit.txt
* contrib/hbnf/doc/en/asum.txt
* contrib/hbnf/doc/en/at2.txt
* contrib/hbnf/doc/en/bitclr.txt
* contrib/hbnf/doc/en/byt2bit.txt
* contrib/hbnf/doc/en/byt2hex.txt
* contrib/hbnf/doc/en/calendar.txt
* contrib/hbnf/doc/en/chdir.txt
* contrib/hbnf/doc/en/cint86.txt
* contrib/hbnf/doc/en/clrsel.txt
* contrib/hbnf/doc/en/cntryset.txt
* contrib/hbnf/doc/en/ctrl.txt
* contrib/hbnf/doc/en/d2e.txt
* contrib/hbnf/doc/en/datecnfg.txt
* contrib/hbnf/doc/en/default.txt
* contrib/hbnf/doc/en/dosver.txt
* contrib/hbnf/doc/en/easter.txt
* contrib/hbnf/doc/en/elapmil.txt
* contrib/hbnf/doc/en/elapsed.txt
* contrib/hbnf/doc/en/eltime.txt
* contrib/hbnf/doc/en/findith.txt
* contrib/hbnf/doc/en/firstday.txt
* contrib/hbnf/doc/en/floptst.txt
* contrib/hbnf/doc/en/fttext.txt
* contrib/hbnf/doc/en/getenvrn.txt
* contrib/hbnf/doc/en/hex2dec.txt
* contrib/hbnf/doc/en/iamidle.txt
* contrib/hbnf/doc/en/idle.txt
* contrib/hbnf/doc/en/inp.txt
* contrib/hbnf/doc/en/invclr.txt
* contrib/hbnf/doc/en/isprint.txt
* contrib/hbnf/doc/en/lastday.txt
* contrib/hbnf/doc/en/linked.txt
* contrib/hbnf/doc/en/madd.txt
* contrib/hbnf/doc/en/menu1.txt
* contrib/hbnf/doc/en/menutonf.txt
* contrib/hbnf/doc/en/metaph.txt
* contrib/hbnf/doc/en/miltime.txt
* contrib/hbnf/doc/en/min2dhm.txt
* contrib/hbnf/doc/en/mkdir.txt
* contrib/hbnf/doc/en/month.txt
* contrib/hbnf/doc/en/mouse1.txt
* contrib/hbnf/doc/en/n2color.txt
* contrib/hbnf/doc/en/netpv.txt
* contrib/hbnf/doc/en/nooccur.txt
* contrib/hbnf/doc/en/ntow.txt
* contrib/hbnf/doc/en/nwlstat.txt
* contrib/hbnf/doc/en/nwsem.txt
* contrib/hbnf/doc/en/nwuid.txt
* contrib/hbnf/doc/en/origin.txt
* contrib/hbnf/doc/en/outp.txt
* contrib/hbnf/doc/en/page.txt
* contrib/hbnf/doc/en/peek.txt
* contrib/hbnf/doc/en/pickday.txt
* contrib/hbnf/doc/en/popadder.txt
* contrib/hbnf/doc/en/proper.txt
* contrib/hbnf/doc/en/putkey.txt
* contrib/hbnf/doc/en/qtr.txt
* contrib/hbnf/doc/en/rand1.txt
* contrib/hbnf/doc/en/reboot.txt
* contrib/hbnf/doc/en/rmdir.txt
* contrib/hbnf/doc/en/round.txt
* contrib/hbnf/doc/en/savearr.txt
* contrib/hbnf/doc/en/scancode.txt
* contrib/hbnf/doc/en/setdate.txt
* contrib/hbnf/doc/en/settime.txt
* contrib/hbnf/doc/en/shift.txt
* contrib/hbnf/doc/en/sinkey.txt
* contrib/hbnf/doc/en/sleep.txt
* contrib/hbnf/doc/en/sqzn.txt
* contrib/hbnf/doc/en/stod.txt
* contrib/hbnf/doc/en/sysmem.txt
* contrib/hbnf/doc/en/tbwhile.txt
* contrib/hbnf/doc/en/tempfile.txt
* contrib/hbnf/doc/en/vertmenu.txt
* contrib/hbnf/doc/en/vidcur.txt
* contrib/hbnf/doc/en/vidmode.txt
* contrib/hbnf/doc/en/wda.txt
* contrib/hbnf/doc/en/week.txt
* contrib/hbnf/doc/en/year.txt
* contrib/hbziparc/doc/en/hbziparc.txt
* contrib/rddads/doc/en/adsfuncs.txt
* contrib/rddads/doc/en/readme.txt
* doc/en/1stread.txt
* doc/en/array.txt
* doc/en/binnum.txt
* doc/en/browse.txt
* doc/en/command.txt
* doc/en/compiler.txt
* doc/en/datetime.txt
* doc/en/dbdelim.txt
* doc/en/dbsdf.txt
* doc/en/dbstrux.txt
* doc/en/dir.txt
* doc/en/diskspac.txt
* doc/en/errsys.txt
* doc/en/eval.txt
* doc/en/file.txt
* doc/en/garbage.txt
* doc/en/harbext.txt
* doc/en/hashes.txt
* doc/en/hb_set.txt
* doc/en/hbinet.txt
* doc/en/hvm.txt
* doc/en/idle.txt
* doc/en/input.txt
* doc/en/lang.txt
* doc/en/macro.txt
* doc/en/math.txt
* doc/en/memo.txt
* doc/en/memvar.txt
* doc/en/menu.txt
* doc/en/misc.txt
* doc/en/nation.txt
* doc/en/objfunc.txt
* doc/en/rdd.txt
* doc/en/rdddb.txt
* doc/en/rddmisc.txt
* doc/en/rddord.txt
* doc/en/set.txt
* doc/en/setmode.txt
* doc/en/string.txt
* doc/en/tclass.txt
* doc/en/terminal.txt
* doc/en/tgetlist.txt
* doc/en/tlabel.txt
* doc/en/treport.txt
* doc/en/var.txt
* sync with fixes/updates from 3.4 fork
485 lines
15 KiB
Plaintext
485 lines
15 KiB
Plaintext
/*
|
|
* Copyright 2000 Brian Hays <bhays@abacuslaw.com>
|
|
* Documentation for the commands
|
|
*
|
|
* See COPYING.txt for licensing terms.
|
|
*
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Command
|
|
$NAME$
|
|
CLASS
|
|
$CATEGORY$
|
|
Class
|
|
$SUBCATEGORY$
|
|
Definition
|
|
$ONELINER$
|
|
Define a Class for Object Oriented Programming
|
|
$SYNTAX$
|
|
[CREATE] CLASS <ClassName> [ <FROM, INHERIT> <SuperClass1> [, <SuperClassN>] ] [STATIC]
|
|
$ARGUMENTS$
|
|
<ClassName> Name of the class to define. By tradition, Harbour
|
|
classes start with "T" to avoid collisions with user-
|
|
created classes.
|
|
|
|
<SuperClass1...n> The Parent class(es) to use for inheritance.
|
|
Harbour supports Multiple Inheritance.
|
|
|
|
STATIC This clause causes the class function to be declared
|
|
as a static function. It will therefore not be available outside the current module.
|
|
$DESCRIPTION$
|
|
CLASS creates a class from which you can create objects.
|
|
The CLASS command begins the class specification, in which the VAR
|
|
elements (also known as instance variables) and METHODS of the
|
|
class are named. The following scoping commands may also appear.
|
|
They control the default scope of VAR and METHOD commands that follow them.
|
|
|
|
<fixed>
|
|
EXPORTED:
|
|
VISIBLE:
|
|
HIDDEN:
|
|
PROTECTED:
|
|
</fixed>
|
|
The class specification ends with the END CLASS command.
|
|
|
|
Classes can inherit from multiple <SuperClasses>, and the chain of
|
|
inheritance can extend to many levels.
|
|
|
|
A program uses a Class by calling the Class Constructor, usually the
|
|
New() method, to create an object. That object is usually assigned
|
|
to a variable, which is used to access the VAR elements and
|
|
methods.
|
|
|
|
Harbour's OOP syntax and implementation supports Scoping (Protect, Hidden and Readonly)
|
|
and Delegating, and is largely compatible with Class(y)(tm), TopClass(tm)
|
|
and Visual Objects(tm).
|
|
$EXAMPLES$
|
|
CREATE CLASS TBColumn
|
|
|
|
VAR Block // Code block to retrieve data for the column
|
|
VAR Cargo // User-definable variable
|
|
VAR ColorBlock // Code block that determines color of data items
|
|
VAR ColSep // Column separator character
|
|
VAR DefColor // Array of numeric indexes into the color table
|
|
VAR Footing // Column footing
|
|
VAR FootSep // Footing separator character
|
|
VAR Heading // Column heading
|
|
VAR HeadSep // Heading separator character
|
|
VAR Width // Column display width
|
|
VAR ColPos // Temporary column position on screen
|
|
|
|
METHOD New() // Constructor
|
|
|
|
ENDCLASS
|
|
$STATUS$
|
|
R
|
|
$COMPLIANCE$
|
|
H
|
|
$PLATFORMS$
|
|
All
|
|
$SEEALSO$
|
|
HBClass(), Object Oriented Programming, VAR, METHOD
|
|
$END$
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Command
|
|
$NAME$
|
|
VAR
|
|
$CATEGORY$
|
|
Class
|
|
$SUBCATEGORY$
|
|
Data
|
|
$ONELINER$
|
|
Alternate syntax for VAR: instance variable for the objects.
|
|
$SYNTAX$
|
|
VAR <DataName1> [, <DataNameN>] [ AS <type> ] [ INIT <uValue> ]
|
|
[[EXPORTED | VISIBLE] | [PROTECTED] | [HIDDEN]] [READONLY | RO]
|
|
$ARGUMENTS$
|
|
<DataName1> Name of the VAR
|
|
|
|
<type> Optional data type specification from the following:
|
|
Character, Numeric, Date, Logical, Codeblock, Nil.
|
|
|
|
<uValue> Optional initial value when creating a new object.
|
|
|
|
EXPORTED Specifies that this VAR is accessible to functions and
|
|
methods outside of the class. VISIBLE is a synonym for EXPORTED.
|
|
|
|
PROTECTED Specifies that this VAR is only accessible to functions and methods within this class and its subclasses.
|
|
|
|
HIDDEN Specifies that this VAR is only accessible to the
|
|
class where it was defined, and is not inherited by the
|
|
subclasses.
|
|
|
|
READONLY Restricts assignment to the variable. If specified with
|
|
the EXPORTED clause, assignment is only permitted from the current
|
|
class and its subclasses. If specified with the PROTECTED clause,
|
|
assignment is only permitted from the current class.
|
|
RO is a synonym for READONLY.
|
|
$DESCRIPTION$
|
|
VAR elements can also be thought of as the "properties" of an
|
|
object. They can be of any data type, including codeblock.
|
|
Once an object has been created, the VAR elements are referenced
|
|
with the colon (:) as in MyObject:Heading := "Last name".
|
|
Usually a class also defines methods to manipulate the VAR.
|
|
|
|
You can use the "AS <type>" clause to enforce that the VAR 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 VAR to <uValue>
|
|
whenever a new object is created.
|
|
|
|
VAR can be a synonym for VAR, or it can use a slightly different
|
|
syntax for compatibility with other dialects.
|
|
$EXAMPLES$
|
|
CREATE CLASS TBColumn
|
|
|
|
VAR Block // Code block to retrieve data for the column
|
|
VAR Cargo // User-definable variable
|
|
VAR ColorBlock // Code block that determines color of data items
|
|
VAR ColSep // Column separator character
|
|
VAR DefColor // Array of numeric indexes into the color table
|
|
VAR Footing // Column footing
|
|
VAR FootSep // Footing separator character
|
|
VAR Heading // Column heading
|
|
VAR HeadSep // Heading separator character
|
|
VAR Width // Column display width
|
|
VAR ColPos // Temporary column position on screen
|
|
|
|
METHOD New() // Constructor
|
|
|
|
ENDCLASS
|
|
$STATUS$
|
|
R
|
|
$COMPLIANCE$
|
|
H
|
|
$PLATFORMS$
|
|
All
|
|
$SEEALSO$
|
|
Object Oriented Programming, CLASS, METHOD, CLASS VAR, VAR
|
|
$END$
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Command
|
|
$NAME$
|
|
CLASS VAR
|
|
$CATEGORY$
|
|
Class
|
|
$SUBCATEGORY$
|
|
Data
|
|
$ONELINER$
|
|
Define a CLASS VAR variable for a class (NOT for an Object!)
|
|
$SYNTAX$
|
|
CLASS VAR <DataName1> [, <DataNameN>] [ AS <type> ] [ INIT <uValue> ]
|
|
$ARGUMENTS$
|
|
<DataName1> Name of the VAR
|
|
|
|
<type> Optional data type specification from the following:
|
|
Character, Numeric, Date, Logical, Codeblock, Nil
|
|
|
|
<uValue> Optional initial value at program startup
|
|
$DESCRIPTION$
|
|
CLASS VAR variables can also be thought of as the "properties" of an
|
|
entire class. Each CLASS VAR 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 CLASS VAR 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 VAR to <uValue>
|
|
whenever the class is first used.
|
|
$EXAMPLES$
|
|
CREATE CLASS TWindow
|
|
VAR hWnd, nOldProc
|
|
CLASS VAR lRegistered AS LOGICAL
|
|
ENDCLASS
|
|
$STATUS$
|
|
R
|
|
$COMPLIANCE$
|
|
H
|
|
$PLATFORMS$
|
|
All
|
|
$SEEALSO$
|
|
Object Oriented Programming, CLASS, METHOD, VAR
|
|
$END$
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Command
|
|
$NAME$
|
|
METHOD
|
|
$CATEGORY$
|
|
Class
|
|
$SUBCATEGORY$
|
|
Method
|
|
$ONELINER$
|
|
Declare a METHOD for a class in the class header
|
|
$SYNTAX$
|
|
METHOD <MethodName>( [<params,...>] ) [CONSTRUCTOR]
|
|
|
|
METHOD <MethodName>( [<params,...>] ) INLINE <Code,...>
|
|
|
|
METHOD <MethodName>( [<params,...>] ) BLOCK <CodeBlock>
|
|
|
|
METHOD <MethodName>( [<params,...>] ) EXTERN <NAME>( [<args,...>] )
|
|
|
|
METHOD <MethodName>( [<params,...>] ) SETGET
|
|
|
|
METHOD <MethodName>( [<params,...>] ) VIRTUAL
|
|
|
|
METHOD <MethodName>( [<param>] ) OPERATOR <op>
|
|
|
|
METHOD <MethodName>( [<params,...>] ) CLASS <ClassName>
|
|
$ARGUMENTS$
|
|
<MethodName> Name of the method to define
|
|
|
|
<params,...> Optional parameter list
|
|
$DESCRIPTION$
|
|
Methods are "class functions" which do the work of the class.
|
|
All methods must be defined in the class header between the
|
|
CLASS and ENDCLASS commands. If the body of a method is not fully
|
|
defined here, the full body is written below the ENDCLASS command
|
|
using this syntax:
|
|
|
|
METHOD <MethodName>( [<params,...>] ) CLASS <ClassName>
|
|
|
|
Methods can reference the current object with the keyword "Self:" or
|
|
its shorthand version "::".
|
|
|
|
CLAUSES:
|
|
|
|
CONSTRUCTOR Defines a special method Class Constructor method,
|
|
used to create objects. This is usually the
|
|
New() method. Constructors always return the new
|
|
object.
|
|
|
|
INLINE Fast and easy to code, INLINE lets you define the
|
|
code for the method immediately within the definition
|
|
of the Class. Any methods not declared INLINE or BLOCK
|
|
must be fully defined after the ENDCLASS command.
|
|
The <Code,...> following INLINE receives a parameter
|
|
of Self. If you need to receive more parameters, use
|
|
the BLOCK clause instead.
|
|
|
|
BLOCK Use this clause when you want to declare fast 'inline'
|
|
methods that need parameters. The first parameter to
|
|
<CodeBlock> must be Self, as in:
|
|
|
|
METHOD <MethodName> BLOCK {| Self, <arg1>, <arg2>, ..., <argN> | ... }
|
|
|
|
EXTERN If an external function does what the method needs,
|
|
use this clause to make an optimized call to that
|
|
function directly.
|
|
|
|
SETGET For calculated Data. The name of the method can be
|
|
manipulated like a Data element to Set or Get a value.
|
|
|
|
VIRTUAL Methods that do nothing. Useful for Base classes where
|
|
the child class will define the method's behavior, or
|
|
when you are first creating and testing a Class.
|
|
|
|
OPERATOR Operator Overloading for classes.
|
|
See example tests/testop.prg for details.
|
|
|
|
CLASS <ClassName>
|
|
Use this syntax only for defining a full method after
|
|
the ENDCLASS command.
|
|
$EXAMPLES$
|
|
CREATE CLASS TWindow
|
|
VAR hWnd, nOldProc
|
|
METHOD New( ) CONSTRUCTOR
|
|
METHOD Capture() INLINE SetCapture( ::hWnd )
|
|
METHOD End() BLOCK {| Self, lEnd | iif( lEnd := ::lValid(), ;
|
|
::PostMsg( WM_CLOSE ), ), lEnd }
|
|
METHOD EraseBkGnd( hDC )
|
|
METHOD cTitle( cNewTitle ) SETGET
|
|
METHOD Close() VIRTUAL
|
|
ENDCLASS
|
|
|
|
METHOD New( ) CLASS TWindow
|
|
LOCAL nVar, cStr
|
|
... <code> ...
|
|
... <code> ...
|
|
RETURN Self
|
|
$STATUS$
|
|
R
|
|
$COMPLIANCE$
|
|
H
|
|
$PLATFORMS$
|
|
All
|
|
$SEEALSO$
|
|
HBClass(), Object Oriented Programming, VAR, CLASS
|
|
$END$
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Command
|
|
$NAME$
|
|
MESSAGE
|
|
$CATEGORY$
|
|
Class
|
|
$SUBCATEGORY$
|
|
Method
|
|
$ONELINER$
|
|
Route a method call to another Method
|
|
$SYNTAX$
|
|
MESSAGE <MessageName> METHOD <MethodName>( [<params,...>] )
|
|
|
|
MESSAGE <MessageName>() METHOD <MethodName>( [<params,...>] )
|
|
$ARGUMENTS$
|
|
<MessageName> The pseudo-method name to define
|
|
|
|
<MethodName> The method to create and call when <MessageName>
|
|
is invoked.
|
|
|
|
<params,...> Optional parameter list for the method
|
|
$DESCRIPTION$
|
|
The MESSAGE command is a seldom-used feature that lets you re-route
|
|
a call to a method with a different name. This can be necessary if
|
|
a method name conflicts with a public function that needs to be
|
|
called from within the class methods.
|
|
|
|
For example, your app may have a public function called BeginPaint()
|
|
that is used in painting windows. It would also be natural to have a
|
|
Window class method called :BeginPaint() that the application can
|
|
call. But within the class method you would not be able to call the
|
|
public function because internally methods are based on static
|
|
functions (which hide public functions of the same name).
|
|
|
|
The MESSAGE command lets you create the true method with a different
|
|
name (::xBeginPaint()), yet still allow the ::BeginPaint() syntax
|
|
to call ::xBeginPaint(). This is then free to call the public
|
|
function BeginPaint().
|
|
$EXAMPLES$
|
|
CREATE CLASS TWindow
|
|
VAR hWnd, nOldProc
|
|
METHOD New( ) CONSTRUCTOR
|
|
MESSAGE BeginPaint METHOD xBeginPaint()
|
|
ENDCLASS
|
|
$STATUS$
|
|
R
|
|
$COMPLIANCE$
|
|
H
|
|
$PLATFORMS$
|
|
All
|
|
$SEEALSO$
|
|
METHOD, VAR, CLASS, Object Oriented Programming
|
|
$END$
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Command
|
|
$NAME$
|
|
ERROR HANDLER
|
|
$CATEGORY$
|
|
Class
|
|
$SUBCATEGORY$
|
|
Method
|
|
$ONELINER$
|
|
Designate a method as an error handler for the class
|
|
$SYNTAX$
|
|
ERROR HANDLER <MethodName>( [<params,...>] )
|
|
$ARGUMENTS$
|
|
<MethodName> Name of the method to define
|
|
|
|
<params,...> Optional parameter list
|
|
$DESCRIPTION$
|
|
ERROR HANDLER names the method that should handle errors for the
|
|
class being defined.
|
|
$EXAMPLES$
|
|
CREATE CLASS TWindow
|
|
ERROR HANDLER MyErrHandler()
|
|
ENDCLASS
|
|
$STATUS$
|
|
R
|
|
$COMPLIANCE$
|
|
H
|
|
$PLATFORMS$
|
|
All
|
|
$SEEALSO$
|
|
Object Oriented Programming, ON ERROR, CLASS, METHOD, VAR
|
|
$END$
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Command
|
|
$NAME$
|
|
ON ERROR
|
|
$CATEGORY$
|
|
Class
|
|
$SUBCATEGORY$
|
|
Method
|
|
$ONELINER$
|
|
Designate a method as an error handler for the class
|
|
$SYNTAX$
|
|
ON ERROR <MethodName>( [<params,...>] )
|
|
$ARGUMENTS$
|
|
<MethodName> Name of the method to define
|
|
|
|
<params,...> Optional parameter list
|
|
$DESCRIPTION$
|
|
ON ERROR is a synonym for ERROR HANDLER.
|
|
It names the method that should handle errors for the
|
|
class being defined.
|
|
$EXAMPLES$
|
|
CREATE CLASS TWindow
|
|
ON ERROR MyErrHandler()
|
|
ENDCLASS
|
|
$STATUS$
|
|
R
|
|
$COMPLIANCE$
|
|
H
|
|
$PLATFORMS$
|
|
All
|
|
$SEEALSO$
|
|
Object Oriented Programming, ERROR HANDLER, CLASS, METHOD, VAR
|
|
$END$
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Command
|
|
$NAME$
|
|
ENDCLASS
|
|
$CATEGORY$
|
|
Class
|
|
$SUBCATEGORY$
|
|
Definition
|
|
$ONELINER$
|
|
End the declaration of a class.
|
|
$SYNTAX$
|
|
ENDCLASS
|
|
$ARGUMENTS$
|
|
(This statement has no arguments)
|
|
$DESCRIPTION$
|
|
ENDCLASS marks the end of a class declaration.
|
|
It is usually followed by the class methods that are not INLINE.
|
|
$EXAMPLES$
|
|
CREATE CLASS TWindow
|
|
VAR hWnd, nOldProc
|
|
ENDCLASS
|
|
$STATUS$
|
|
R
|
|
$COMPLIANCE$
|
|
H
|
|
$PLATFORMS$
|
|
All
|
|
$SEEALSO$
|
|
Object Oriented Programming, CLASS, METHOD, VAR
|
|
$END$
|
|
*/
|