ThinkGeo.com    |     Documentation    |     Premium Support

Unhandled Exception: heightInScreen

I just started receiving this unhandled exception in my application after upgrading to the latest MapSuite version.  It seems to happen most often when I zoom out and then start panning.  May be related to creating new cache tiles for areas on the map not viewed before?


nate


 


See the end of this message for details on invoking 


just-in-time (JIT) debugging instead of this dialog box.
 
************** Exception Text **************
System.ArgumentOutOfRangeException: The input double value is out of range.
Parameter name: heightInScreen
   at ohM=.B1E=.YFE=(Double YVE=, String YlE=, Double Y1E=, oRM= ZFE=, Double ZVE=, oRM= ZlE=)
   at ohM=.B1E=.a1E=(Double bFE=, String bVE=, Double blE=, oRM= b1E=)
   at ThinkGeo.MapSuite.Core.GdiPlusGeoCanvas.DrawScreenImageCore(GeoImage image, Single centerXInScreen, Single centerYInScreen, Single widthInScreen, Single heightInScreen, DrawingLevel drawingLevel, Single xOffset, Single yOffset, Single rotateAngle)
   at ThinkGeo.MapSuite.Core.GeoCanvas.DrawWorldImage(GeoImage image, Double centerXInWorld, Double centerYInWorld, Single widthInScreen, Single heightInScreen, DrawingLevel drawingLevel)
   at ThinkGeo.MapSuite.Core.RasterLayer.DrawCore(GeoCanvas canvas, Collection`1 labelsInAllLayers)
   at ThinkGeo.MapSuite.Core.Layer.Draw(GeoCanvas canvas, Collection`1 labelsInAllLayers)
   at ThinkGeo.MapSuite.DesktopEdition.LayerOverlay.DrawCore(GeoCanvas canvas)
   at ThinkGeo.MapSuite.DesktopEdition.Overlay.kBQ=(GeoCanvas kRQ=)
   at ThinkGeo.MapSuite.DesktopEdition.Overlay.Draw(GeoCanvas canvas)
   at ThinkGeo.MapSuite.DesktopEdition.WinformsMap.0xM=(IEnumerable`1 zxc=)
   at ThinkGeo.MapSuite.DesktopEdition.WinformsMap.0RM=(RectangleShape zhc=)
   at ThinkGeo.MapSuite.DesktopEdition.WinformsMap.NxQ=(RectangleShape EBg=, Overlay ERg=, Int32 Ehg=, Int32 Exg=, GeographyUnit FBg=)
   at ThinkGeo.MapSuite.DesktopEdition.WinformsMap.LBQ=(IEnumerable`1 Fhg=)
   at ThinkGeo.MapSuite.DesktopEdition.WinformsMap.HBQ=()
   at ThinkGeo.MapSuite.DesktopEdition.WinformsMap.GBQ=(Int32 BRg=)
   at ThinkGeo.MapSuite.DesktopEdition.WinformsMap.ChQ=(InteractionArguments 9xc=)
   at ThinkGeo.MapSuite.DesktopEdition.WinformsMap.8xM=(Object 5hc=, 4xU= 5xc=)
   at QRQ=.5xQ=.OnMouseEvent(4xU= e)
   at QRQ=.5xQ=.CRU=(Double ChU=, Double CxU=, Double DBU=, Double DRU=, MapMouseButton DhU=)
   at ThinkGeo.MapSuite.DesktopEdition.WinformsMap.9Bc=(Object 9Rc=, MouseEventArgs 9hc=)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
 
 
************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5446 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
AgentDesktop2
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///E:/data/GTS/FusionCommand/FusionCommand/AgentCommand/AgentDesktop2/tags/Latest/Release/AgentDesktop2.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5446 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5447 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
MapSuiteCore
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.0.55
    CodeBase: file:///E:/data/GTS/FusionCommand/FusionCommand/AgentCommand/AgentDesktop2/tags/Latest/Release/MapSuiteCore.DLL
----------------------------------------
GTS
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///E:/data/GTS/FusionCommand/FusionCommand/AgentCommand/AgentDesktop2/tags/Latest/Release/GTS.DLL
----------------------------------------
DesktopEdition
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.0.55
    CodeBase: file:///E:/data/GTS/FusionCommand/FusionCommand/AgentCommand/AgentDesktop2/tags/Latest/Release/DesktopEdition.DLL
----------------------------------------
AxInterop.WMPLib
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///E:/data/GTS/FusionCommand/FusionCommand/AgentCommand/AgentDesktop2/tags/Latest/Release/AxInterop.WMPLib.DLL
----------------------------------------
WindowsBase
    Assembly Version: 3.0.0.0
    Win32 Version: 3.0.6920.5011 built by: Win7SP1
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/WindowsBase/3.0.0.0__31bf3856ad364e35/WindowsBase.dll
----------------------------------------
NetTopologySuite
    Assembly Version: 1.7.3.31740
    Win32 Version: 1.7.3.31740
    CodeBase: file:///E:/data/GTS/FusionCommand/FusionCommand/AgentCommand/AgentDesktop2/tags/Latest/Release/NetTopologySuite.DLL
----------------------------------------
GeoAPI
    Assembly Version: 1.1.0.0
    Win32 Version: 1.1.0.0
    CodeBase: file:///E:/data/GTS/FusionCommand/FusionCommand/AgentCommand/AgentDesktop2/tags/Latest/Release/GeoAPI.DLL
----------------------------------------
Interop.WMPLib
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///E:/data/GTS/FusionCommand/FusionCommand/AgentCommand/AgentDesktop2/tags/Latest/Release/Interop.WMPLib.DLL
----------------------------------------
System.Configuration
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Data
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_64/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Transactions
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_64/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
Accessibility
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
 
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
 
For example:
 
<configuration></configuration>
    <system.windows.forms jitdebugging="true"></system.windows.forms>
 
 
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Hello Nate, 



Thank you for your post, this exception is thrown by our validate system, it didn't pass the IfInputValueIsInRange check, the most possible place to cause this is in RasterLayer DrawCore method to get the smallImageRectange.


Can you get the value of


canvas.CurrentWorldExtent,


canvas.CurrentWorldExtent,


canvasWidth,


canvasHeight


just before the program throw the exception? I think some value of them have mistake when you zoom out. 



Regards, 



Gary



 If I understood correctly what you are after, the exception seems to come when making this zooming transition:



[01:28:58 PM]  winformsMap.CurrentExtent.Height/Width: 6.295166015625/8.7890625

[01:28:59 PM]  winformsMap.CurrentExtent.Height/Width: 12.59033203125/17.578125


In other words, 6.295166015625/8.7890625 is fine, but the exception happens when I zoom out to 12.59033203125/17.578125.


If I didn't get what you were looking for, please let me know.


nate




Hello Nate, 
  
 Thanks a lot, that’s what I need, and I still need 2 values, canvasWidth and canvasHeight, most time, those two value decide how big your map will show.  
  
 With those data, I can check if there is something wrong about the values. 
  
 Regards, 
  
 Gary 
  


 If you mean the size of the winformsMap control, then that is


[02:24:03 PM]  winformsMap.Height/Width: 1146/1600


If you are talking about a "canvas" object, I can't find it, and would need some help in getting to that object.


nate



Nate. 
  
 Thank you for your data, but I’m sorry I didn’t find the root cause, it’s all passed. 
  
 Is it possible to provide a simple sample that can help us recreate the problem faster? 
  
 Regards, 
  
 Gary

I can’t easily provide a sample, but if it comes to that, I will. 
  
 It might be a moot point anyway.  On a whim, I changed the “ThreadingMode” property of the map control to “Multithreaded” and the problem went away…  I’ll follow this path and see how it goes. 
  
 Thanks for the continued help.

Nate, 
  
 Ok, we will wait your result. 
  
 And which version were you used before you get this exception? 
  
 Regards, 
  
 Gary

 I believe it was 4.0.145.0



Hello Nate, 
  
 Thanks for the information, I have checked the source code and indeed we made some change in this part form 4.0 to 5.0, so it have a chance that is a bug when the value in some special range, but we will need some help to recreate the problem, so if you still meet this problem and have a way to recreate it, please tell us. 
  
 Regards, 
  
 Gary