>>> >>>** Main Class >>>PROCEDURE GetChildClass() AS Object >>> >>> LOCAL oRetVal AS Object >>> >>> PUBLIC gb_AllowChildClass && This must exist in the child class Init >>> >>> oRetVal = This.GetChildClass() >>> >>>ENDPROC >>>>>>
>>>PROCEDURE Init() >>> >>> LOCAL bRetVal AS Boolean >>> bRetVal = .T. >>> >>> IF TYPE("AllowChildClass") = "U" >>> bRetVal = .F. >>> ENDIF >>> >>> RETURN bRetVal >>> >>>ENDPROC >>>>>>
** Main Class PROCEDURE GetChildClass() AS Object LOCAL oRetVal AS Object PUBLIC gb_AllowChildClass && This must exist in the child class Init oRetVal = This.GetChildClass([SomeUniqueStringYouImagnie]) ENDPROC *And in the Child class's Init: PROCEDURE Init(lcUniqueString) LOCAL bRetVal AS Boolean bRetVal = .T. IF NOT lcUniqueString == SomeUniqueStringYouImagnie bRetVal = .F. ENDIF RETURN bRetVal ENDPROCThen from your main class you could do:
oRetVal = This.GetChildClass([AbraKadabra])and in Init of the Child Class:
PROCEDURE Init(lcUniqueString) LOCAL bRetVal AS Boolean bRetVal = .T. IF NOT lcUniqueString == [AbraKadabra] bRetVal = .F. ENDIF RETURN bRetVal ENDPROC