ThinkGeo.com    |     Documentation    |     Premium Support

Exception thrown: Parameter not valid (Bitmap)

 I've been having an exception show up on some client machines (never seen it on the development machines) that I'm having a hard time fixing. I'm not even sure if it's an issue with our software or the Winforms control. It is relatively rare, which makes it hard to track down. 



----------------------------------------------------------------------------


Exception Information


----------------------------------------------------------------------------


Source       : System.Drawing


Target       : .ctor


Type         : System.ArgumentException


 


Errors


----------------------------------------------------------------------------


Parameter is not valid.


 


Stack Trace


----------------------------------------------------------------------------


at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)


   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height)


   at ThinkGeo.MapSuite.DesktopEdition.WinformsMap.x13b023a82ad02573(Overlay x8c3bff8200340d24, RectangleShape x178b193eec228e6e, Boolean x991dc8ddc7528b44)


   at ThinkGeo.MapSuite.DesktopEdition.WinformsMap.x7d52d0ad1d6779cd(Boolean x991dc8ddc7528b44, RectangleShape x178b193eec228e6e)


 


 


One user reported that they were panning the map at the time. Just curious if it is an issue ya'll have seen before, and if so do you know how to fix it?


 


Thanks





We are seeing this a lot since trying to integrate the Bing map layer.   And it take our application completely down.

Matt, 
  
 We haven’t seen this before but it looks like Ted has.  Are you using the Bing Map Layer or Overlay or any other Overlays that are pulling tiles or data from  a remote source?   
  
 Ted, can you recreate the issue consistently in your application?

We are not using the Bing overlay, but were are using the control in Multi-threaded mode, and have setup tile caches for most of the layers (otherwise they flicker because of being in multi-threaded mode). The base world map data layers are pretty much identical to your World Map Kit demo that came on the WMK CD, where it uses local map data instead of the online data. Then we have a couple of point layers overlayed on top of that. I don’t recall having this issue (or at least not as often) back when the map was set to Single-threaded only, but I may be mistaken.

** Double-posted on accident **



Yes, can recreate it consistently but don’t ask me for a small sample :)    There is no way I have time to do that right now.  We might just put the fall build out w/o Bing support.    And, I don’t want to hijack this thread, but there is one thing that might be related.   We have 30 custom zoom levels set on the map, and I think we might have to set the map’s zoom level set to a set build explicitly for Bing?   I have not done that, yet.

Matt, 
  
   I think I have tracked down where this is happening but I am not sure why.  The code below is the call and it seems like the width and or height is being reported incorrectly.  This is very strange since it get the width and height from (this) which is the control itself.  What I can do is put in some error trapping so it will eat the exception…  This is all happening when it is drawing the preview image in threaded mode.  Go ahead and pull down the latest developer build as of tomorrow for this fix. 
  
 Bitmap previewBitmap = new Bitmap(this.Width, this.Height); 
  
 Ted: On your side if you get the stack trace let me know and I can see exactly where it is happening. 
  
 David 


 Awesome, thanks!


 


I'll give it a try tomorrow and let you know how it goes. I appreciate your help. 



Matt, 
  
   I hope that helps, the bigger question is why the height and width would be incorrect.  This might solve one issue and raise another if the map got into some invalid state.  I hope not but since I was not able to re-create it the ‘fix’ is not hardly what I would call comprehensive. 
  
 David

 Yes I'm not sure either to be honest, I've never seen the issue first-hand, only as error reports sent from our customers. The customers in question are running on fairly outdated and low-performance hardware which could be causing trouble with the .NET Ribbon UI we are using, but they aren't reporting any graphical anomalies and the error occurs randomly even after the program has been running for a while and the window is not being resized. So I'm not sure how it could be reporting incorrect width/height when, visually, it looks correct. I'll do further testing and let you know the results, if I can figure out the issue.



Matt, 
  
   I hate to say this but let’s cross our fingers and hope this fixes it. :-) 
  
 David

 Unfortunately it threw another error. I'm guessing the invalid window size is messing up the code in other locations, like you said.


I'm wondering if maybe I can just check the onResize event of the control and validate width/height to make sure it's always the correct size. I'll try and put that in the next update to see if that helps fix the issue.


The new exception is below:



----------------------------------------------------------------------------


Exception Information


----------------------------------------------------------------------------


Source       : System.Drawing


Target       : .ctor


Type         : System.ArgumentException


 


Errors


----------------------------------------------------------------------------


Parameter is not valid.


 


Stack Trace


----------------------------------------------------------------------------


at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)


   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height)


   at ThinkGeo.MapSuite.DesktopEdition.WinformsMap.9hU=(Bitmap 9xU=, RectangleShape /BU=, Overlay /RU=)




Matt, 
  
   Let me know how that goes.  If there is any way you can re-produce the error in a sample that would make it really easy for us.  I have been playing around with our samples and I just can’t get the issue to occur.  Any hints you can give us would help out. 
  
 David

Forgot to post an update. 
  
 Setting minimum size constraints to the map control and parent form seems to have fixed the issue. Not sure what caused the size issues in the first place, however.

Hello Matt,  
  
 Thanks for your further information. Please feel free to let us know if you meet new problems or you can recreate this again. 
  
 Regards, 
  
 Gary