>>WITH CREATEOBJECT('aaax') >> ?"Object:" >> ?"hidden", VARTYPE(.hprop) >> ?"protected", VARTYPE(.pprop) >> ?"normal", VARTYPE(.prop) >> ?"unknown", VARTYPE(.propx) >> ? >> .Test() >> ? >> .Test2() >>ENDWITH >> >>DEFINE CLASS aaa as Custom >>HIDDEN hprop >>PROTECTED pprop >>hprop = .T. >>pprop = .T. >>prop = .T. >> procedure test() >> ?"First class:" >> ?"hidden", VARTYPE(.hprop) >> ?"protected", VARTYPE(.pprop) >> ?"normal", VARTYPE(.prop) >> ?"unknown", VARTYPE(.propx) >> endproc >> >>ENDDEFINE >> >> >>DEFINE CLASS aaax as aaa >> procedure test2() >> ?"Derived class:" >> ?"hidden", VARTYPE(.hprop) >> ?"protected", VARTYPE(.pprop) >> ?"normal", VARTYPE(.prop) >> ?"unknown", VARTYPE(.propx) >> endproc >> >>ENDDEFINE >>>>
>VARTYPE(1+'a') >>
>* But A out of scope variable it is a hidden var >definedVar = 4 >innerScope(@definedVar) >PROCEDURE innerScope(refVar) > ? VARTYPE(m.definedVar) >ENDPROC >>
>clear >WITH CREATEOBJECT('aaa') > ?"Object:" > ?"hidden" ,PEMSTATUS(.class,"hprop",5) ,VARTYPE(.hprop) && readable N, defined Y => vartype error > ?"protected" ,PEMSTATUS(.class,"pprop",5) ,VARTYPE(.pprop) && readable N, defined Y => vartype error > ?"normal" ,PEMSTATUS(.class,"prop",5) ,VARTYPE(.prop) && readable Y, defined Y => vartype NO error > ?"unknown" ,PEMSTATUS(.class,"propx",5) ,VARTYPE(.propx) && readable N, defined N => vartype NO error >ENDWITH > >DEFINE CLASS aaa as Custom >HIDDEN hprop >PROTECTED pprop >hprop = .T. >pprop = .T. >prop = .T. >ENDDEFINE >>The internal VARTYPE code, check for the defined property,
>>?VARTYPE(_screen.ActiveControl) >>>>Is bug or no?
>?PEMSTATUS(_screen, ' ActiveControl', 2) >?PEMSTATUS(_screen, ' ActiveControl', 5) >?VARTYPE(_screen.ActiveControl) >>the correct implementation it is to set