ThinkGeo.com    |     Documentation    |     Premium Support

Exception Using WicBitmapOverlay

Randomly, we get the following exception using the WicBitmapOverlay:


Unable to find entry point for DWriteCreateFactory().


 


at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)

at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)

at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)

at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)

at ThinkGeo.MapSuite.Core.WicBitmapGeoCanvas.get_WicDwFactory()

at ThinkGeo.MapSuite.Core.WicBitmapGeoCanvas.GetTextFormatFromFont(GeoFont font)

at ThinkGeo.MapSuite.Core.WicBitmapGeoCanvas.DrawString(Object renderTarget, String text, GeoFont font, GeoBrush fillBrush, GeoPen haloPen, PointF position, Double textWidth, Double textHeight)

at CallSite.Target(Closure , CallSite , WicBitmapGeoCanvas , Object , String , GeoFont , GeoBrush , GeoPen , PointF , Double , Double )

at System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid9[T0,T1,T2,T3,T4,T5,T6,T7,T8](CallSite site, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8)

at ThinkGeo.MapSuite.Core.WicBitmapGeoCanvas.DrawTextCore(String text, GeoFont font, GeoBrush fillBrush, GeoPen haloPen, IEnumerable`1 textPathInScreen, DrawingLevel drawingLevel, Single xOffset, Single yOffset, Single rotateAngle)

at ThinkGeo.MapSuite.Core.GeoCanvas.DrawText(String text, GeoFont font, GeoBrush fillBrush, GeoPen haloPen, IEnumerable`1 textPathInScreen, DrawingLevel drawingLevel, Single xOffset, Single yOffset, Single rotateAngle)

at ThinkGeo.MapSuite.Core.GeoCanvas.DrawText(String text, GeoFont font, GeoBrush fillBrush, IEnumerable`1 textPathInScreen, DrawingLevel drawingLevel)

at ThinkGeo.MapSuite.Core.GeoCanvas.jBo=(String jRo=)

at ThinkGeo.MapSuite.Core.GeoCanvas.iRo=()

at ThinkGeo.MapSuite.Core.GeoCanvas.EndDrawing()

at ThinkGeo.MapSuite.WpfDesktopEdition.Tile.vRM=(Object vhM=)

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

at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()

at System.Threading.ThreadPoolWorkQueue.Dispatch()

at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()


 


It seems to be random so I don't know that I can make a sample to reproduce.  Any help would be appreciated.


 


Thanks,


.Ryan.



Hi Ryan,


We tested our worldmapkit but we are unable to recreate this issue. It looks like some resource is conflicted in multithread. Would you mind to use this temporary dll pack instead to see if it works better? Or you can send us your data and style configuration so that we can try to create this issue.



Here is another issue about adding a new API for the drawing quality, it is already in the attched dll. Please feel free to try.

gis.thinkgeo.com/Support/Dis...fault.aspx


Thanks,

Howard



WicBitmapExtension_None_StrongNamed.zip (152 KB)