__OBJADDMETHOD()
Add a METHOD to an already existing class
- Syntax
- __objAddMethod( <oObject>, <cMethodName>, <nFuncPtr> ) --> oObject
- Arguments
- <oObject> is the object to work on.
- <cMethodName> is the symbol name of the new METHOD to add.
- <nFuncPtr> is a pointer to a function to associate with the method.
- Returns
- __objAddMethod() return a reference to <oObject>.
- Description
- __objAddMethod() is a low level class support function that add a new METHOD to an object. is unchanged if a symbol with the name already exist in .
- Note that is a special pointer to a function that was created using the @ operator, see example below.
- Examples
- // create a new THappy class and add a Smile method
- oHappy := TClass():New( "THappy" )
- __objAddMethod( oHappy, "Smile", @MySmile() )
- ? oHappy:Smile( 1 ) // :)
- ? oHappy:Smile( 2 ) // ;)
- ? oHappy:Smile( 3 ) // *SMILE*
- STATIC FUNCTION MySmile( nType )
- LOCAL cSmile
- DO CASE
- CASE nType == 1
- cSmile := ":)"
- CASE nType == 2
- cSmile := ";)"
- CASE nType == 3
- cSmile := "*SMILE*"
- ENDCASE
- RETURN cSmile
- Status
Ready
- Compliance
- __objAddMethod() is a Harbour extension.
- Files
- Library is rtl
- See Also