We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date

Release Config Only Error

We log all unhandled exceptions to the XP Application Event log. We''ve been running the current version in debug mode for a while and have never seen the error below. Not that we''re running a release configuration (with no debug symbols, etc.) the following error is showing up in our log. Any idea what we might look for to track it down? Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object. at Syncfusion.Windows.Forms.Tools.ControllerSizeCalculator.CalculateSize(DockControllerBase controller, Size parentSize, Size newParentSize) at Syncfusion.Windows.Forms.Tools.DockHostController.CalculateSize(Size parentSize, Size newParentSize) at Syncfusion.Windows.Forms.Tools.LayoutResizer.Calculate() at Syncfusion.Windows.Forms.Tools.SizingController.AdjustLayout() at Syncfusion.Windows.Forms.Tools.SizingController.set_LayoutRect(Rectangle value) at Syncfusion.Windows.Forms.Tools.SizingController.AdjustLayout() at Syncfusion.Windows.Forms.Tools.SizingController.set_LayoutRect(Rectangle value) at Syncfusion.Windows.Forms.Tools.MainFormController.AdjustLayout() at Syncfusion.Windows.Forms.Tools.MainFormController.set_LayoutRect(Rectangle value) at Syncfusion.Windows.Forms.Tools.MainFormController.AdjustLayoutDockArea() at Syncfusion.Windows.Forms.Tools.MainFormController.HostControl_Resize(Object obj, EventArgs e) at System.EventHandler.Invoke(Object sender, EventArgs e) at System.Windows.Forms.Control.OnResize(EventArgs e) at System.Windows.Forms.Form.OnResize(EventArgs e) at System.Windows.Forms.Control.OnSizeChanged(EventArgs e) at System.Windows.Forms.Control.UpdateBounds(Int32 x, Int32 y, Int32 width, Int32 height, Int32 clientWidth, Int32 clientHeight) at System.Windows.Forms.Control.UpdateBounds() at System.Windows.Forms.Control.WmCreate(Message& m) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ScrollableControl.WndProc(Message& m) at System.Windows.Forms.ContainerControl.WndProc(Message& m) at System.Windows.Forms.Form.WmCreate(Message& m) at System.Windows.Forms.Form.WndProc(Message& m) at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

8 Replies

VS Vijayanand S Syncfusion Team November 2, 2005 06:25 AM UTC

Hi Ken, Sorry for the inconvenience caused. This has been already known issue "Exception raised when add docking window to a docking manager" and it has fixed internally in the patch 3.3.0.6. If you are interested in recieving a patch build, please create a Direct Trac incident to get the patch version and also mention this forum link. Thanks for your interest in Syncfusion Products. Regards, Vijay


KL Ken Law November 8, 2005 04:19 PM UTC

Thank you. I received an email with a link to the patch. I am about to release a product to a customer and am naturally leery about trying to use a patch build. On the other hand, the exception is being generated in the release version and will be noticed eventually by the customer. So I have a few questions: 1 - is the exception relatively harmless? Is the program likely to continue to work ok even though this exception is being thrown? 2 - should I be able to revert to my current version (3.2.1.0) using the assembly manager if I install and test a release version of my program using the patch release? (in the past this seemed to work fairly well) Thanks.


VS Vijayanand S Syncfusion Team November 9, 2005 02:04 PM UTC

Hi Ken, Thanks for the update. I. We have fixed this bug in this patch 3.3.0.6. If you have installed it in your system, it should work correctly. Otherwise please follow these steps to avoid raising the exception: 1. Make sure the project reference points to the 3.301.0.6 version. 2. Close the VS.NET editor and delete the Bin and Obj folder. 3. Open the application in VS.NET , Rebuild the application and Run it. 4. Now it should not throw the exception. If it still produces the error, please send me the sample which reproduces the error or send me your main Form1.cs file through Direct Trac Incident. This will help us investigate this issue accurately. II. Yes. But, The public API call you are using in your application should not be changed in both the versions. Please let me know if you need any further assistance. Thanks for your patience and cooperation. Regards, Vijay


KL Ken Law November 14, 2005 07:25 PM UTC

I have an open DirectTrac incident #21935 that gives me a link to download patch version 3.3.0.6. I downloaded it but when I run it I get: Runtime Error (at 1:699): Setup was unable to locate a compatible version of Essential Studio. Please contact Syncfusion Technical Support. I have Essential Studio 3.2.1.0 loaded currently. I''ve tried escalating the DirectTrac incident several times as well as submitting new postings but have gotten no response. I''m writing here in the hopes of getting some kind of help - I have to get out a release version now (today) but have this exception being generated by Syncfusion. Please help.


KL Ken Law November 15, 2005 09:54 PM UTC

I installed version 3.3.0.0 and then the 3.3.0.6 patch. I then followed the steps you outlined above but I am getting the exact same exception in my event log. My program is very large (28 projects) - I don''t know if I''ll be able to reproduce this in a smaller project but I''ll try when I can find some time. Here is some info that may help: back in March of this year I was getting this error: Faulting application vmteditor.exe, version 1.0.0.0, faulting module kernel32.dll, version 5.1.2600.1106, fault address 0x00013887. I was sent the following code example to fix this problem, which is currently running in my program: IEnumerator ienum = this.dockingManager1.Controls; ArrayList dockedctrls = new ArrayList(); while(ienum.MoveNext()) dockedctrls.Add(ienum.Current); foreach(Control ctrl in dockedctrls) { this .dockingManager1.SetEnableDocking(ctrl, false); ctrl.Dispose(); } this.dockingManager1.Dispose(); this.dockingManager1 = null; If I comment this code out, I no longer get the null reference exception that was the original reason for this forum post. However, I then start getting the fault in kernel32.dll. Any ideas?


VS Vijayanand S Syncfusion Team November 16, 2005 10:42 AM UTC

Hi Ken, I am afraid, I was not able to reproduce the issue. Could you please send me a sample that will reproduce the issue? It will help us to investigate this issue accurately. Please clarify me the following: 1. Have you written the code in the form_closing event? 2. Is it throwing the exception consistently or occasionally? 3. Which version of .NET framework currently you are using? Please let me know if you have any questions. Thanks for your patience. Regards, Vijay


KL Ken Law November 18, 2005 01:33 PM UTC

Vijayanand, Your last round of questions gave me a path to pursue and I''ve determined where the problem is and have been able to fix it for my application. I would like to explain what I found for Syncfusion''s (and their customer''s) benefit, and to perhaps solicit advice on whether there is a better way for me to do things. My application is separated into different "Tasks". For the purposes of this discussion you can think of a task as a set of Forms. When a file loads into my application, many forms are instantiated manually using .NET reflection (Assembly.CreateInstance("type....")). When the user selects a task, some forms are removed from use (but kept in memory) using code like this: foreach(Form form in this.tabbedMDIManager.MdiChildren) { form.Hide(); form.MdiParent = null; }


KL Ken Law November 18, 2005 01:48 PM UTC

Vijayanand, (for some reason the prior message was submitted before complete) So to continue: Then the forms to be used for the task are made visible using code like this: foreach (DictionaryEntry de in task.MDIForms) { MDIF mdif = (MDIF)de.Value; MDIForm form = mdif.MDIForm; form.MdiParent = this; form.Show(); } So all forms always stay in memory, but may or may not be visible and have the main form as parent. Note also that I am using TabbedMDI in the main form. The problem was that I was not always calling the cleanup code I sent you in a prior posting from the Close() method. This is because when a file is unloaded from my application many forms are not visible and have no parent, yet they must be disposed of. I solved the problem by detecting whether the cleanup code was being called from the Close() method, or another method I must use if the form has no parent. The exception was being generated on the call to this line of code: this .dockingManager1.SetEnableDocking(ctrl, false); only when not being called from the Close() method. I solved the problem (at least it appears I have so far), by running that line of code only when called from the Close() method: if (fromClose==true) this .dockingManager1.SetEnableDocking(ctrl, false); Please let me know if you have any advice re how I''m disposing of these forms in the context of using TabbedMDI and docking managers within individual forms. Thanks very much for your help. Ken

Loader.
Live Chat Icon For mobile
Up arrow icon