ThinkGeo.com    |     Documentation    |     Premium Support

InvalidOperationException on map launch

Sometimes, I get the following exception upon map launch even after setting DrawingExceptionMode to DrawException..  Is this an error from the WorldMapKitWmsWpfOverlay ?  


Type : System.InvalidOperationException, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

Message : The enumerator is not valid because the collection changed.

Source : PresentationCore

Help link : 

Data : System.Collections.ListDictionaryInternal

TargetSite : Boolean MoveNext()

Stack Trace :    at System.Windows.Media.VisualCollection.Enumerator.MoveNext()

   at ThinkGeo.MapSuite.WpfDesktopEdition.TileOverlay.xe960bd1c67737f90(Object xe0292b9ed559da7d, EventArgs xfbf34718e704c6bc)

   at ThinkGeo.MapSuite.WpfDesktopEdition.Tile.OnOpened(EventArgs args)

   at ThinkGeo.MapSuite.WpfDesktopEdition.Tile.set_IsOpened(Boolean value)

   at ThinkGeo.MapSuite.WpfDesktopEdition.Tile.CommitDrawingCore(GeoCanvas geoCanvas, Object nativeImage)

   at ThinkGeo.MapSuite.WpfDesktopEdition.Tile.x72e495c788ab064e(Object xe0292b9ed559da7d, RunWorkerCompletedEventArgs xfbf34718e704c6bc)

   at System.ComponentModel.BackgroundWorker.OnRunWorkerCompleted(RunWorkerCompletedEventArgs e)

   at System.ComponentModel.BackgroundWorker.AsyncOperationCompleted(Object arg)

   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)

   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)

   at System.Windows.Threading.Dispatcher.WrappedInvoke(Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)

   at System.Windows.Threading.DispatcherOperation.InvokeImpl()

   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)

   at System.Threading.ExecutionContext.runTryCode(Object userData)

   at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)

   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)

   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)

   at System.Windows.Threading.DispatcherOperation.Invoke()

   at System.Windows.Threading.Dispatcher.ProcessQueue()

   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)

   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)

   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)

   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)

   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)

   at System.Windows.Threading.Dispatcher.WrappedInvoke(Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)

   at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Boolean isSingleParameter)

   at System.Windows.Threading.Dispatcher.Invoke(DispatcherPriority priority, Delegate method, Object arg)

   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)

   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)

   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)

   at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)

   at System.Windows.Threading.Dispatcher.Run()

   at System.Windows.Application.RunDispatcher(Object ignore)

   at System.Windows.Application.RunInternal(Window window)

   at System.Windows.Application.Run(Window window)

   at System.Windows.Application.Run()

   at OCC600.Infrastructure.Shell.App.Main()


 


TIA.


 



Hi Klaus, 
  
 I think our sample works fine. Could you show us how you use the overlay; or you can simply run our how do I samples and compare where the difference is. I cannot figure out the issue through these stack trace. Sorry for the inconvenience. 
  
 Thanks, 
 Howard

Howard, it may have been an issue related to my data.  So, this issue can be considered solved.  Thanks.



Klaus, 
  
 No problem; just feel free to let me know if you have more queries. 
  
 Thanks, 
 Howard