Community
Hello!
This was working in Map3D 2012 (I cannot test it myself, but so I have been told...) but causes excpetion in 2013 & 2014.
Here is my snippet:
FDOLayer[] activeLayers = fdoConnection.GetActiveLayers(); if (activeLayers.Length > 0) { foreach (FDOLayer activeLayer in activeLayers) { if (IsLayerFileInMap(activeLayer) == false) { AddLayerFromFile(activeLayer, filterLocationWKT, filterLocationType); } else if (AcMapMap.GetCurrentMap().GetLayers().Contains(activeLayer.LayerDisplayName)) { AcMapLayer mapLayer = AcMapMap.GetCurrentMap().GetLayers().GetItem(activeLayer.LayerDisplayName) as AcMapLayer; SetLayerGeometryFilter(mapLayer, filterLocationWKT, filterLocationType); } } }
So this is how my AcMapLayer object is instanciated:
AcMapLayer mapLayer = AcMapMap.GetCurrentMap().GetLayers().GetItem(activeLayer.LayerDisplayName) as AcMapLayer;
After instanciation, when I inspect my object:
it contains 2 exceptions:
So later in my code, when I do the following:
mapLayer.ForceRefresh();
I get an Exception:
'Null reference. The GWS layer source is invalid'
I am lost here!
Thank you in advance!