On Wed, 2008-06-04 at 00:04 -0400, Rob Rothwell wrote: > Hello, > > After much help already, I think I need some training in proper object > removal. > > When my application creates an object and stores it in an > OrderedCollection, and than wants to delete it, I am trying to do so > quite explicitly with something like: > > DataManager>>deleteSelectedAbstractors > self selected do: [:each | > self abstractors remove: each. > each := nil. > ] > > which removes the object from my application (it's collection), and > yet when I look for my object in the system with >
> DataAbstractor allInstances. > > I still see the object I removed, even with an explicit Smalltalk > garbageCollect or garbageCollectMost. Anything I create just seems to > hang around forever. > > Any help understanding what I need to do to make sure my objects > really go away when I am done with them would be greatly appreciated! The objects are still referenced in the collection you get from self selected. The line with "each := nil" is useless as each is only a temporary variable. I assume that you want to empty the selected collection as well. you could do DataManager>>deleteSelectedAbstractors self selected copy do: [:each | self abstractors remove: each. self selected remove: each. ] regards, Norbert _______________________________________________ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners