Mindaugas Kavaliauskas wrote:
is there a way to call function as a method? Ex.:
Hi, I found one, it's HB_EXECFROMARRAY(), but it's GPF. Here is the whole idea: #include "hbclass.ch" PROC MAIN() LOCAL hValue := HashObject() hValue:VAR1 := 123.45 hValue:VAR2 := DATE() ? hValue:VAR1, hValue:VAR2 // Let's create method for HashObject() hValue:PrintVar1 := @PrintVar1() hValue:PrintVar1() RETURN STATIC PROC PrintVar1() ? QSELF():VAR1 RETURN CREATE CLASS HashObject VAR __hash INIT {=>} ERROR HANDLER OnError() ENDCLASS METHOD OnError( ... ) CLASS HashObject LOCAL cMessage := __GETMESSAGE(), xValue IF PCOUNT() == 1 .AND. LEFT( cMessage, 1 ) == "_" RETURN QSELF():__hash[ SUBSTR( cMessage, 2 ) ] := HB_PVALUE( 1 ) ENDIF xValue := QSELF():__hash[ cMessage ] IF HB_ISSYMBOL( xValue ) RETURN HB_EXECFROMARRAY( QSELF(), xValue, { ... } ) ENDIF RETURN xValue Regards, Mindaugas _______________________________________________ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour