This, and the ever present Buy Now/Upgrade Now are reasons I don’t like Xojo and avoid using it.
This being, I can’t explicitly destroy objects … I think.
I know I’m supposed to set objects to nil for potentially immediate destruction. However, after a while the applications slows and resources grow, and it doesn’t seem to take my object = nil suggestions seriously (debug prints assure me that I am setting to nil and removing from the dictionary).
There is only one area that creates and removes objects, intentionally, to avoid having multiple references that could be preventing destruction.
It’s not that important, it’s an app I built to better learn Xojo for a client project that’s now finished. But I can’t help it and I need to know, since this space seems more knowledgable in the finer details that can get lost in the support forum, aside from the staff responses others here have gotten that I want to avoid.
I have a global dictionary, and each entry is (reference, object). I use the reference to later act on the object, and destroy it by setting the dictionary entry to nil and then removing it from the dictionary.
Should I be doing anything else in plain Xojo to achieve this properly? If the object has it’s own objects, do I need to nil those also? Should I be doing something magical, or using arcane knowledge? Or do objects just take time to unload and I should test longer?
Please don’t tell me to just pick a new language, I’m already transitioning to C# for this. I have the Xojo app done and I don’t want to bother listing it in the mac app store if this is the way things are™ And the client app is long done so i don’t necessarily need it for practice anymore.
However, this eats at my soul. Is Xojo really like this?