Hi
After researching a problem i had where contextmenu's do not draw properly - i discovered that it happened when i had screens open which contained either the UltraDayView or UltraMonthViewSingle.
It seemed to me that the infragistics schedule controls was using way too much gdi resources so that not even other applications context menu's were rendering properly.
Further digging got me to this article;http://subjectively.blogspot.com/2009/03/importance-of-recycling-memory.html
Is what this person saying true?
Why on earth would you sacrifice application stability (the most important thing of all) for such a trivial convenience as updating the UI when the windows theme changed.
Can somebody please tell me whether this issue mentioned in the above link has been addressed in the latest version?
What Mr. Naar neglected to mention in his blog is that if you dispose of the controls properly, as is good practice, the references are released, nothing stays rooted, and there is no leak. If I remember correctly he was using finalizers, which is (at least in the opinion of some of the folks at Microsoft) not recommended. You can read more about that here if you like.
Having said that, it is possible that a Pen or a Brush is not being disposed of properly, in which case you should report it as a bug.
I've been using these controls for a while now, and i have never read anywhere that i should be calling Dispose on each infragistics control to ensure no memory leaks. Isn't one of the advantages of the managed environment that you dont have to call dispose on every control you create on a form when you close it? Certain objects yes, but your controls on a form should automatically be garbage collected when they go out of scope right?
I still am very curious as to why someone made the design descision to create all UI elements as unmanaged. Is there any good reason for this because it seems like a complete breach of good coding practices and is inevitably going to cause memory leaks for people who don't dispose every control they create. What was the reason for this? Was it simply to enable the theme changing?