Properties and methods in a class definition are Public by default: code in other classes or procedures can set the properties or call the methods. Properties and methods that you designate as Protected can be accessed only by other methods in the class definition or in subclasses of the class. Properties and methods designated as Hidden can be accessed only by other members in the class definition. Subclasses of the class cannot "see" or reference hidden members.So then, since everything below is part of the 'Class Definition', why then does
oForm = CREATEOBJECT('frmMyForm') oForm.Show(1) DEFINE CLASS frmMyForm AS Form AutoCenter = .T. ADD OBJECT cmdOk AS CommandButton; WITH Caption = 'Test' PROCEDURE cmdOk.Click This.Parent.Hidden_Method() ENDPROC PROCEDURE cmdOk.Init() WITH This .Top = 10 .Left = 10 .Height = 25 .Width = 75 ENDWITH ENDPROC HIDDEN PROCEDURE Hidden_Method() MESSAGEBOX('Here we are') ENDPROC ENDDEFINE