This is a migrated thread and some comments may be shown as answers.

Argument Exception on closing

13 Answers 128 Views
GridView
This is a migrated thread and some comments may be shown as answers.
Edward
Top achievements
Rank 1
Edward asked on 19 Feb 2008, 08:35 PM
I get the following error when I am closing the form.  The only operation I have done is to assign a datatable to the grid's datasource.

   at System.Drawing.Font.GetHeight(Graphics graphics)
   at System.Drawing.Font.GetHeight()
   at System.Drawing.Font.get_Height()
   at Telerik.WinControls.VisualElement.OnPropertyChanged(RadPropertyChangedEventArgs e)
   at Telerik.WinControls.RadComponentElement.OnPropertyChanged(RadPropertyChangedEventArgs e)
   at Telerik.WinControls.RadItem.OnPropertyChanged(RadPropertyChangedEventArgs e)
   at Telerik.WinControls.UI.LightVisualElement.OnPropertyChanged(RadPropertyChangedEventArgs e)
   at Telerik.WinControls.UI.GridRowElement.OnPropertyChanged(RadPropertyChangedEventArgs e)
   at Telerik.WinControls.RadObject.UpdateEffectiveValue(RadProperty dp, RadPropertyMetadata metadata, Boolean isCoerceValue, Boolean isOldValueValid, Object oldValue, ValueSource oldValueSource, Boolean oldValueIsDeferred, Boolean coerceWithDeferredReference)
   at Telerik.WinControls.RadObject.NotifyOnPropertyChanged(RadProperty radProperty, Object oldValue)
   at Telerik.WinControls.RadObject.UnregisterStylePropertySetting(IPropertySetting setting, Boolean notifyPropertyChange)
   at Telerik.WinControls.PropertySetting.UnregisterValue(RadElement element)
   at Telerik.WinControls.SelectorBase.Unregister(RadElement element, PropertySettingCollection propertySettings)
   at Telerik.WinControls.StyleSheet.Unapply(RadElement radElement)
   at Telerik.WinControls.RadElement.OnPropertyChanged(RadPropertyChangedEventArgs e)
   at Telerik.WinControls.VisualElement.OnPropertyChanged(RadPropertyChangedEventArgs e)
   at Telerik.WinControls.RadComponentElement.OnPropertyChanged(RadPropertyChangedEventArgs e)
   at Telerik.WinControls.RadItem.OnPropertyChanged(RadPropertyChangedEventArgs e)
   at Telerik.WinControls.UI.LightVisualElement.OnPropertyChanged(RadPropertyChangedEventArgs e)
   at Telerik.WinControls.UI.GridRowElement.OnPropertyChanged(RadPropertyChangedEventArgs e)
   at Telerik.WinControls.RadObject.UpdateEffectiveValue(RadProperty dp, RadPropertyMetadata metadata, Boolean isCoerceValue, Boolean isOldValueValid, Object oldValue, ValueSource oldValueSource, Boolean oldValueIsDeferred, Boolean coerceWithDeferredReference)
   at Telerik.WinControls.RadObject.SetValueCommon(RadProperty dp, Object value, RadPropertyMetadata metadata, Boolean coerceWithDeferredReference)
   at Telerik.WinControls.RadObject.SetValue(RadProperty dp, Object value)
   at Telerik.WinControls.RadElement.set_Style(StyleSheet value)
   at Telerik.WinControls.UI.GridRowElement.Dispose(Boolean disposing)
   at Telerik.WinControls.RadComponentElement.Dispose()
   at Telerik.WinControls.RadControl.RemoveChildren(RadElement element)
   at Telerik.WinControls.RadControl.RemoveChildren(RadElement element)
   at Telerik.WinControls.RadControl.RemoveChildren(RadElement element)
   at Telerik.WinControls.RadControl.RemoveChildren(RadElement element)
   at Telerik.WinControls.RadControl.Dispose(Boolean disposing)
   at Telerik.WinControls.UI.RadGridView.Dispose(Boolean disposing)
   at System.ComponentModel.Component.Dispose()
   at System.Windows.Forms.Control.Dispose(Boolean disposing)
   at System.ComponentModel.Component.Dispose()
   at System.Windows.Forms.Control.Dispose(Boolean disposing)
   at System.Windows.Forms.ContainerControl.Dispose(Boolean disposing)
   at ASD.SearchSessionControl.Dispose(Boolean disposing)
   at System.ComponentModel.Component.Dispose()
   at System.Windows.Forms.Control.Dispose(Boolean disposing)
   at Telerik.WinControls.Docking.DockPanel.Dispose(Boolean disposing)
   at System.ComponentModel.Component.Dispose()
   at System.Windows.Forms.Control.Dispose(Boolean disposing)
   at System.Windows.Forms.ContainerControl.Dispose(Boolean disposing)
   at Telerik.WinControls.Docking.DockSite.Dispose(Boolean disposing)
   at System.ComponentModel.Component.Dispose()
   at Telerik.WinControls.Docking.DockingManager.Dispose(Boolean disposing)
   at System.ComponentModel.Component.Finalize()

13 Answers, 1 is accepted

Sort by
0
Jack
Telerik team
answered on 20 Feb 2008, 09:19 AM
Hello Edward ,

Thank you for contacting us.

I am glad to inform you that recently we released a service pack of the Q3 release. The Q3 SP1 addresses the issue. We would highly appreciate your feedback on this release.

Do not hesitate to write us if you need further assistance.

Sincerely yours,
Jack
the Telerik team

Instantly find answers to your questions at the new Telerik Support Center
0
Edward
Top achievements
Rank 1
answered on 20 Feb 2008, 03:49 PM
I installed the SP1 and still receive the same error.  The error only occurs after I set the DataSource to a data table.  Normal DataGridView works fine.  I tried to set the data source back to null before disposing, but still receiving that error. 
0
Jack
Telerik team
answered on 20 Feb 2008, 05:14 PM
Hello Edward ,

I could not reproduce this issue. Maybe it is related to the data source or other specific conditions. Could you send me your application with the related data source. I will investigate the issue and will try to find a solution for you.

Let me know, if you need further assistance.

Kind regards,
Jack
the Telerik team

Instantly find answers to your questions at the new Telerik Support Center
0
jdgoulden
Top achievements
Rank 1
answered on 21 Mar 2008, 01:16 PM
I am recieving the same exception, but only when I have the Grid on a panel that I have not viewed. It appears it has something to do with the Grid not being visible, have you found a solution?
0
Jack
Telerik team
answered on 21 Mar 2008, 06:03 PM
Hello jdgoulden,

Thank you for the additional details on this issue.

Unfortunately, we are still unable to reproduce it. I am afraid I would need to review your application and check the sequence of events that cause the issue. We have still not found the reasons for this situation and would like to investigate it further.

Thank you in advance.

 
Greetings,
Jack
the Telerik team

Instantly find answers to your questions at the new Telerik Support Center
0
Ronny Rachow
Top achievements
Rank 1
answered on 29 Apr 2008, 03:33 PM
Hello,  I have the same problem. Has anyone found out how to solve this problem  in the last few weeks ?

I am using the Q1_2008 and have the same error (and stacktrace) as Edward.

If no solution exists I will try to create a small project to reproduce this error.
0
Kiril
Telerik team
answered on 01 May 2008, 10:32 AM
Hello Falk Wegener,

We're still researching the cause for the issue. A sample application would be of a great help. Most probably, the issue is related to disposing the grid and its elements in specific cases with a user control or panels which are not visible and contain RadGridView.

However we're not absolutely sure and are still working on this issue. If you send us a sample application, it will help us to fix it sooner.

Also, I would suggest to try to workaround this issue by calling the Dispose method of RadGridView when the form that contains the grid is closed (disposed).

Please try this and tell us if this solves the problem.

Greetings,
Kiril
the Telerik team

Instantly find answers to your questions at the new Telerik Support Center
0
Ronny Rachow
Top achievements
Rank 1
answered on 05 May 2008, 10:55 AM
Hello Kiril,

Thanks for your help, disposing the radgridview(s) manually works. No more exceptions.

Greetings
0
Kiril
Telerik team
answered on 05 May 2008, 11:51 AM
Hello Falk Wegener,

I'm glad to hear the issue has now been addressed. Thank you for getting back to me.

Sincerely yours,
Kiril
the Telerik team

Instantly find answers to your questions at the new Telerik Support Center
0
Y
Top achievements
Rank 1
answered on 30 Dec 2008, 10:38 AM
I'm having a similar problem. still with the Q1 2008 SP1 release. i cannot take the time to update to the latest version of the controls.

   at System.Drawing.Drawing2D.Matrix.Clone()
   at Telerik.WinControls.RadElement.get_TotalTransformationMatrix()
   at Telerik.WinControls.RadElement.get_ControlBoundingRectangle()
   at Telerik.WinControls.RadControl.InvalidateElement(RadElement element)
   at Telerik.WinControls.RadElement.PerformInvalidateElement(RadElement element)
   at Telerik.WinControls.RadElement.OnDisplayPropertyChanged(RadPropertyChangedEventArgs e)
   at Telerik.WinControls.Primitives.BasePrimitive.OnDisplayPropertyChanged(RadPropertyChangedEventArgs e)
   at Telerik.WinControls.RadElement.OnPropertyChanged(RadPropertyChangedEventArgs e)
   at Telerik.WinControls.VisualElement.OnPropertyChanged(RadPropertyChangedEventArgs e)
   at Telerik.WinControls.Primitives.ArrowPrimitive.OnPropertyChanged(RadPropertyChangedEventArgs e)
   at Telerik.WinControls.RadObject.InheritanceParentValueChanged(RadPropertyChangedEventArgs originalArgs)
   at Telerik.WinControls.RadElement.NotifyChildren(RadPropertyChangedEventArgs e)
   at Telerik.WinControls.RadElement.OnPropertyChanged(RadPropertyChangedEventArgs e)
   at Telerik.WinControls.VisualElement.OnPropertyChanged(RadPropertyChangedEventArgs e)
   at Telerik.WinControls.RadComponentElement.OnPropertyChanged(RadPropertyChangedEventArgs e)
   at Telerik.WinControls.RadItem.OnPropertyChanged(RadPropertyChangedEventArgs e)
   at Telerik.WinControls.UI.LightVisualElement.OnPropertyChanged(RadPropertyChangedEventArgs e)
   at Telerik.WinControls.UI.GridCellElement.OnPropertyChanged(RadPropertyChangedEventArgs e)
   at Telerik.WinControls.RadObject.UpdateEffectiveValue(RadProperty dp, RadPropertyMetadata metadata, Boolean isCoerceValue, Boolean isOldValueValid, Object oldValue, ValueSource oldValueSource, Boolean oldValueIsDeferred, Boolean coerceWithDeferredReference)
   at Telerik.WinControls.RadObject.NotifyOnPropertyChanged(RadProperty radProperty, Object oldValue)
   at Telerik.WinControls.RadObject.UnregisterStylePropertySetting(IPropertySetting setting, Boolean notifyPropertyChange)
   at Telerik.WinControls.PropertySettingBase.UnregisterStyleValueBase(RadElement element)
   at Telerik.WinControls.PropertySetting.UnregisterValue(RadElement element)
   at Telerik.WinControls.SelectorBase.Unregister(RadElement element, PropertySettingCollection propertySettings)
   at Telerik.WinControls.StyleSheet.Unapply(RadElement radElement)
   at Telerik.WinControls.RadElement.UnapplyParentStyle(RadElement parent)
   at Telerik.WinControls.RadElement.UnapplyStyle()
   at Telerik.WinControls.RadElement.SetParent(RadElement parent)
   at Telerik.WinControls.RadElement.ChangeCollection(RadElement child, ItemsChangeOperation changeOperation)
   at Telerik.WinControls.RadElementCollection.OnRemoveComplete(Int32 index, Object value)
   at System.Collections.CollectionBase.RemoveAt(Int32 index)
   at Telerik.WinControls.UI.GridRowElement.UpdateColumns(NotifyCollectionChangedEventArgs e)
   at Telerik.WinControls.UI.GridTableElement.UpdateColumns(NotifyCollectionChangedEventArgs e)
   at Telerik.WinControls.UI.GridViewTemplate.UpdateColumns(NotifyCollectionChangedEventArgs e)
   at Telerik.WinControls.UI.GridViewColumnCollection.NotifyListenersCollectionChanged(NotifyCollectionChangedEventArgs e)
   at Telerik.WinControls.Data.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
   at Telerik.WinControls.UI.GridViewColumnCollection.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
   at Telerik.WinControls.Data.ObservableCollection`1.OnCollectionReset()
   at Telerik.WinControls.Data.ObservableCollection`1.ClearItems()
   at Telerik.WinControls.Data.ItemObservableCollection`1.ClearItems()
   at Telerik.WinControls.UI.GridViewColumnCollection.ClearItems()
   at System.Collections.ObjectModel.Collection`1.Clear()
   at Telerik.WinControls.Data.DataAccessComponent.Dispose(Boolean disposing)
   at Telerik.WinControls.UI.GridViewTemplate.Dispose(Boolean disposing)
   at System.ComponentModel.Component.Finalize()




This Exception happens when i exit my application. although it seems only to occur in 1 possible scenario (being startup -  login - logout - login exit)  rather than all exit scenario (EG. : startup - login - exit).


I have taken the time to manually implement the IDispossable interface in each form containing either a GridView directly or a Usercontrol (containing a GridView). and commentied out the override Dispose method from the Form.Designer.cs.

I cannot send you any code due to Company policy.
0
Jordan
Telerik team
answered on 30 Dec 2008, 02:53 PM
Hello Y,

So far we are not able to reproduce the issue. It is also not reported yet for any subsequent releases (since Q1 2008).
Please open a support ticket and share more information about your case. Any piece of information could be helpful. We also strongly recommend you to consider upgrading to the latest version.

Greetings,
Jordan
the Telerik team

Check out Telerik Trainer, the state of the art learning tool for Telerik products.
0
Y
Top achievements
Rank 1
answered on 31 Dec 2008, 09:50 AM
Issue Solved by using custom event fired at the exit method.
the event is subscribed by all forms & user controls containing a GridView.

I had to do this because implementing the IDisposable was inadequate (or i didn't use it as it should be, never executed code in the inherited Dispose()).

        //@ constructor of each form||usercontrol
        Dispatcher.Instance.TearDownEvent += new Dispatcher.TearDownForms(Instance_TearDownEvent);

        void Instance_TearDownEvent() 
        { 
            grd1.DataSource = null
            grd2.DataSource = null
            grd3.DataSource = null
            grd1.Dispose(); 
            grd2.Dispose(); 
            grd3.Dispose(); 
            this.Dispose(true); 
        }

        //@exit method do this:
        {
            if(TearDownEvent != null)
            {
                this.TearDownEvent();
            }
            Application.Exit();
        }
       
0
Jordan
Telerik team
answered on 05 Jan 2009, 02:23 PM
Hi Y,

We are glad to see that you found a solution.
Do not hesitate to write us back if you have additional questions.

Best wishes,
Jordan
the Telerik team

Check out Telerik Trainer, the state of the art learning tool for Telerik products.
Tags
GridView
Asked by
Edward
Top achievements
Rank 1
Answers by
Jack
Telerik team
Edward
Top achievements
Rank 1
jdgoulden
Top achievements
Rank 1
Ronny Rachow
Top achievements
Rank 1
Kiril
Telerik team
Y
Top achievements
Rank 1
Jordan
Telerik team
Share this question
or