activate window "debug output" o1 = createobject( "test" ) debugout type( "o1.name" ) o1 = createobject( "testa" ) debugout type( "o1.name" ) o1 = createobject( "test1" ) debugout type( "o1.name" ) o1 = createobject( "test1a" ) debugout type( "o1.name" ) o1 = createobject( "test2" ) debugout type( "o1.name" ) o1 = createobject( "test2a" ) debugout type( "o1.name" ) define class test as custom enddefine define class testa as test enddefine define class test1 as custom hidden name enddefine define class test2 as test1 enddefine define class test1a as custom protected name enddefine define class test2a as test1a enddefine>After some chat with you, now I also agree that TYPE([oControl.Name]) = "C" is enough. As I learned :