Calling IGlobeDisplayLayers::RefreshLayer on a layer that is draped on to globe in ArcGlobe hangs the application.
上次发布: August 25, 2014No Product Found
漏洞 ID 编号
NIM004546
已提交
October 2, 2006
上次修改时间
June 5, 2024
适用范围
No Product Found
找到的版本
9.2 RC
状态
Known Limit
经开发团队审核,已确定此问题与不受 Esri 控制的软件的已知限制有关。 问题的“其他信息”部分可能包含进一步说明。
附加信息
No Public Explanation
解决办法
We can reproduce the issue here, but the problem really relates to the order of the workflow.The code works fine if:1. Before calling “updateFeatureLayerProperties” a call to IGlobeDisplayLayers.RefreshLayer is made. In this case the code will look something like://Add the layer to globe as draped_globe.AddLayerType((ILayer)fLayer, esriGlobeLayerType.esriGlobeLayerTypeDraped, true);//Add a feature to the feature class addDrawing(System.Drawing.Color.Red, 10, fLayer);//Refresh the layer since the source feature class has changedIGlobeDisplayLayers gd = _globe.GlobeDisplay as IGlobeDisplayLayers; gd.RefreshLayer(fLayer as ILayer);//Apply globe layer properties updateFeatureLayerProperties(fLayer);//Now refreshing the layer with call to IGlobeDisplayLayers.RefreshLayer via the second command button on the user’s custom toolbar works fine2. OR if “updateFeatureLayerProperties” is called before adding a feature to the feature class. In this case the code will be a simple rearrangement of the original lines of code://Add the layer to globe as draped_globe.AddLayerType((ILayer)fLayer, esriGlobeLayerType.esriGlobeLayerTypeDraped, true);//Apply globe layer properties updateFeatureLayerProperties(fLayer);//Add a feature to the feature class addDrawing(System.Drawing.Color.Red, 10, fLayer);//Now refreshing the layer with call to IGlobeDisplayLayers.RefreshLayer via the second command button on the user’s custom toolbar works fine