当一个要素类参与了一个拓扑(或Geometry Network)之后,对该要素类执行创建要素、修改要素图形或属性时,可能会出现这个异常:"Objects in this class cannot be updated outside an edit session"
'pFeatureLayer:参与拓扑的要素类的图层
'pGeo:为新建要素关联的图形
'StartEditOperation
Try
Dim pFeat As IFeature = pFeatureLayer.FeatureClass.CreateFeature ——此句引发异常
pFeat.Shape = pGeo
pFeat.Store()
'StopEditOperation()
Catch ex As Exception
'AbortEditOperation()
End Try
'pGeo:为新建要素关联的图形
'StartEditOperation
Try
Dim pFeat As IFeature = pFeatureLayer.FeatureClass.CreateFeature ——此句引发异常




Catch ex As Exception



原因
这是由于
ArcEngine应用程序中使用的License权限不足引起的。在ArcEngine
应用程序里面通过ArcSDE进行编辑需要License"ArcGIS Engine Enterprise
Geodatabase",或ArcEditor或ArcInfo。
解决办法
在ArcEngine应用程序的LicenseInitializer.InitializeApplication中,为程序增加Geodatabase的编辑权限。









