Hi,
I have a form having only one control i.e. ultracombo, i bound this to a bindingsource1 (display member- name, valuemember id) and set the databinding to some field of bindingsource2 (field stores id of name and its a transaction table)
I put a messagebox in the RowSelected event.
When I close the form through "X" , RowSelected event is fired and when I see the call stack , it is triggered from this method
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
End Try
End Sub
while "components.dispose" line is executing.
Why is this behavior?
In my real application , i have alot of code at rowselected event, which gets executed and throws exception. since this event is triggered during "components.dispose()" , not all the objects are available and if you refer them during this event , it will throw exception.
Is there any solution for this?
I can handle this issue by setting ultracombo.eventmanager.alleventsenabled=false , in dispose function before "components.dispose" line executed, but still want to know why is this behavior.
if I set ultracombo.eventmanager.alleventsenabled=false , is there any chance of memory leak? since all the events are disabled.
infragistics version is 7.1.20071.1055.
Thanks
The event should not be firing during the Dispose of the control, so if that's happening, it's a bug.
You might want to check for a newer hot fix, in case this issue has already been fixed. If not, you should Submit an incident to Infragistics Developer Support
Unfortunately I am seeing the same problem using v8.1.20081.1000. I have just logged a "Support Request" - hopefully it gets sorted soon...
Cheers
James
hehe - oops - should have held that post just a bit. I have found a "hack-solution". Do this in the RowSelected event of the combo
if (FindForm() == null)
return;
Its only null when the combo is being disposed!
I would, but unfortunately it incorrectly returns false!!!
My code (for when it gets fixed one day) now looks like this:
{
......... my stuff ..........
}
Checking ultraCombo1.Disposing might be better. :)