>>member.Init >>RETURN .F. >>>>
someObject = CREATEOBJECT("SOMECLASS") CLEAR ON ERROR ? MESSAGE() test() ? ? "************* RemoveObject **********", m.someObject.RemoveObject("SomeMember") ? test() DEFINE CLASS SOMECLASS AS CONTAINER ADD OBJECT SomeMember AS CONTAINER ENDDEFINE PROCEDURE test ? PEMSTATUS(m.someObject,"SomeMember",3), m.someObject.SomeMember ? ISNULL(m.someObject.SomeMember) ? m.someObject.ControlCount, m.someObject.objects.Count ? m.someObject.SomeMember.NameBut this is true even using Return. F. into the SomeMember.Init.
someObject = CREATEOBJECT("SOMECLASS") CLEAR ON ERROR ? MESSAGE() test() DEFINE CLASS SOMECLASS AS CONTAINER ADD OBJECT SomeMember AS CONTAINER PROCEDURE SomeMember.INIT RETURN .f. ENDDEFINE PROCEDURE test ? PEMSTATUS(m.someObject,"SomeMember",3), m.someObject.SomeMember ? ISNULL(m.someObject.SomeMember) ? m.someObject.ControlCount, m.someObject.objects.Count ? m.someObject.SomeMember.NameThen, the only solution without side effects is to use AddObject("SomeMember").