PROCEDURE setbordercolor LPARAMETERS nColor LOCAL oParent, lcPre, lcPost oParent = THIS.parent lcPre = "m.oParent." + this.NAME + "_" lcPost = ".BORDERCOLOR" TRY Store m.nColor To; (m.lcPre + "T" + m.lcPost), ; (m.lcPre + "L" + m.lcPost), ; (m.lcPre + "R" + m.lcPost), ; (m.lcPre + "B" + m.lcPost), ; (m.lcPre + "H" + m.lcPost) ENDTRY RETURN ENDPROCas there are only 5 object path accesses, the intermediate locals might even be slower compared to (ugly):
PROCEDURE setbordercolor LPARAMETERS nColor LOCAL lcPre lcPre = "This.Parent." + this.NAME + "_" TRY Store m.nColor To; (m.lcPre + "T.BORDERCOLOR"), ; (m.lcPre + "L.BORDERCOLOR"), ; (m.lcPre + "R.BORDERCOLOR"), ; (m.lcPre + "B.BORDERCOLOR"), ; (m.lcPre + "H.BORDERCOLOR") ENDTRY RETURN ENDPROC>
> PROCEDURE setbordercolor > LPARAMETERS nColor > LOCAL oLine, oObject > > oObject = THIS > TRY > oLine = GETPEM(oObject.PARENT, oObject.NAME+"_T") > oLine.BORDERCOLOR = nColor > oLine = GETPEM(oObject.PARENT, oObject.NAME+"_L") > oLine.BORDERCOLOR = nColor > oLine = GETPEM(oObject.PARENT, oObject.NAME+"_R") > oLine.BORDERCOLOR = nColor > oLine = GETPEM(oObject.PARENT, oObject.NAME+"_B") > oLine.BORDERCOLOR = nColor > oLine = GETPEM(oObject.PARENT, oObject.NAME+"_H") > oLine.BORDERCOLOR = nColor > ENDTRY > RETURN > ENDPROC >