On Wed, 03 Jun 2009, Mindaugas Kavaliauskas wrote:
> or if you do not want to pollute functionality of all hashes, you can use
> HashObject() below for one hash that needs object functionality:
> #include "hbclass.ch"
> PROC MAIN()
> LOCAL hValue := HashObject()
> hValue:VAR1 := 123.45
> hValue:VAR2 := DATE()
> ? hValue:VAR1, hValue:VAR2
> RETURN
> CREATE CLASS HashObject
> VAR __hash INIT {=>}
> ERROR HANDLER OnError()
> ENDCLASS
> METHOD OnError( xValue ) CLASS HashObject
> LOCAL cMessage := __GETMESSAGE()
> IF PCOUNT() == 1 .AND. LEFT( cMessage, 1 ) == "_"
> RETURN QSELF():__hash[ SUBSTR( cMessage, 2 ) ] := xValue
> ENDIF
> RETURN QSELF():__hash[ cMessage ]
Very nice. I will want to add it as optimized C code to Harbour RTL ASAP.
Thank you for the idea.
best regards,
Przemek
_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour