A customer using Windows 2000 Pro 5.00.2195 SP4 has reported me a bug with a .NET application using Syncfusion: to be sure it was not my fault, I sent him YOUR sample code XPMenusSDI and he reported me the same issue: as soon as the application starts, an uncaught exception is thrown (see below). Then, if the user chooses to continue anyway all the menu windows appear "transparent", i.e. it looks like their contents are not drawn (see attached image: the application is a do-nothing windows forms application with some syncfusion menus). Could you please suggest any solution?
Here are the exception details:
************** Exception Text **************
System.FormatException: String must be only one character long.
at System.Convert.ToChar(String value)
at Syncfusion.Styles.StyleInfoSubObjectIdentity.GetBaseStyles(IStyleInfo thisStyleInfo)
at Syncfusion.Windows.Forms.Grid.GridStyleInfoSubObjectIdentity.GetBaseStyles(IStyleInfo thisStyleInfo)
at Syncfusion.Styles.StyleInfoIdentityBase.GetBaseStyle(IStyleInfo thisStyleInfo, StyleInfoProperty sip)
at Syncfusion.Styles.StyleInfoSubObjectBase.IntGetDefaultStyleInfo(StyleInfoProperty sip)
at Syncfusion.Styles.StyleInfoBase.GetDefaultStyleInfoStore(StyleInfoProperty sip)
at Syncfusion.Styles.StyleInfoBase.GetShortValue(StyleInfoProperty sip)
at Syncfusion.Windows.Forms.Tools.XPMenus.MenuGridControlBase.GetApproxWidth(Graphics g, String text)
at Syncfusion.Windows.Forms.Tools.XPMenus.MenuGridControlBase.Show(ParentBarItem parentItem, Point location, IPopupParent parentUI, Boolean setDefaultSelection)
at Syncfusion.Windows.Forms.Tools.XPMenus.MenuGrid.Show(ParentBarItem parentItem, Point location, IPopupParent parentUI, Boolean setDefaultSelection)
at Syncfusion.Windows.Forms.Tools.XPMenus.DropDownBarItemRenderer.ShowChildrenUI(ParentBarItem item, IPopupParent parentUI)
at Syncfusion.Windows.Forms.Tools.XPMenus.BarItemRenderer.set_ShowingDropDown(Boolean value)
at Syncfusion.Windows.Forms.Tools.XPMenus.DropDownBarItemRenderer.OnMouseDown(Point pointMouseDown)
at Syncfusion.Windows.Forms.Tools.XPMenus.BarRenderer.OnMouseDown(MouseEventArgs e)
at Syncfusion.Windows.Forms.Tools.XPMenus.BarControlInternal.OnMouseDown(MouseEventArgs e)
at System.Windows.Forms.Control.WmMouseDown(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at Syncfusion.Windows.Forms.Tools.XPMenus.BarControlInternal.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)
ASArun Srinivasan Syncfusion Team December 2, 2003 07:13 PM UTC
We were unable to reproduce the problem here. Can you post information on the active locale of the Windows 2000 machine on which this problem is encountered.
ADAdministrator Syncfusion Team December 2, 2003 07:49 PM UTC
Thanks for your reply: as far as I know, the locale for both the OS and the .NET framework runtime is Italian (I have also tested the program on a machine with an Italian version of Windows ME and there is no such problem). If this is not what you wanted to know please ask again...
ASArun Srinivasan Syncfusion Team December 2, 2003 09:36 PM UTC
Thanks for the update. We tried running the XPMenusSDI sample on a Windows 2000 machine after changing the locale settings to Italian and could not reproduce the problem.
From your initial posting the problem could be due to the thousand seperator and it could be because of Essential Grid, as the XPMenus in Essential Tools are dependent on Essential Grid.
On the basis of this can you update us on whether the settings are the same when you encounter this problem?
ADAdministrator Syncfusion Team December 3, 2003 05:56 AM UTC
Thanks again. My customer has changed its OS locale from Italian to US and he tells me that now everything seems to work fine, so I think your supposition was right. Until a fix is found, I think he''ll have to keep its locale settings to US...
ASArun Srinivasan Syncfusion Team December 3, 2003 01:34 PM UTC
Thanks for the update. Can you post information on the seperator being used. As I mentioned we could not reproduce the problem here even after changing the Locale settings. Is it a custom thousand seperator that is the cause of this problem?
ADAdministrator Syncfusion Team December 4, 2003 07:46 AM UTC
Thank you. I have forwarded your requests to my customer, asking him to check for the bug first by trying the *default* values for the italian locale settings and then by changing the thousands separator to a custom value. I''ll post you a reply as soon as he answers...
ADAdministrator Syncfusion Team December 4, 2003 01:27 PM UTC
My customer has set back its locale to Italian with all the values set to default (decimal separator = comma) and the program works. He has then changed the decimal separator to a custom value (.) and it worked, too. Unfortunately, he can''t tell me how the separator was set before changing the whole locale to US. Hope this can help you, anyway now it seems to work...