>
>I don't claim to be an OOP purist either, however, this should be taken on a case by case basis. For example, there may be instances where you would want to add a system wide property. You have to choices either a global variable or using AddProperty() to the _SCREEN object. The same applies to AddObject(). In general, it isn't a good idea, but everything needs to be taken on a case by case basis.
>
One of the cases for AddObject() is assembling the composite classes when it is instantiated. Say, I develop the container class with other classes in it. It makes the development process much easier if I assemble this container with AddObject() in container.Init(). This way in the development process I can have all necessary classes opened with the Class Designer simutaneousely, avoiding the error message "Class .... is in use by MODIFY CLASS"
Nick Neklioudov
Universal Thread Consultant
3 times Microsoft MVP - Visual FoxPro
"I have not failed. I've just found 10,000 ways that don't work." - Thomas Edison