阅读:1499回复:4
求助:加载sde数据出错?
Public Function addSDEData(ByVal Server As String, ByVal Instance As String, ByVal User As String, _
ByVal Password As String, ByVal featureClass As String, Optional ByVal version As String = "SDE.DEFAULT") On Error GoTo EH Dim pWorkspaceFactory As ESRI.ArcObjects.Core.IWorkspaceFactory Dim pWorkspace As ESRI.ArcObjects.Core.IFeatureWorkspace Dim pPropSet As ESRI.ArcObjects.Core.IPropertySet Dim pClass As ESRI.ArcObjects.Core.IFeatureClass Dim pFeatureDataset As ESRI.ArcObjects.Core.IFeatureDataset Dim pLayer As ESRI.ArcObjects.Core.IFeatureLayer Dim pMxDoc As ESRI.ArcObjects.Core.IMxDocument pWorkspaceFactory = New ESRI.ArcObjects.Core.SdeWorkspaceFactory pPropSet = New ESRI.ArcObjects.Core.PropertySet With pPropSet '设置ArcSDE连接属性 .SetProperty("SERVER", Server) .SetProperty("INSTANCE", Instance) .SetProperty("USER", User) .SetProperty("PASSWORD", Password) .SetProperty("VERSION", version) '可选,缺省为SDE.DEFAULT版本 End With pWorkspace = pWorkspaceFactory.Open(pPropSet, 0) 'pFeatureDataset = pWorkspace.OpenFeatureDataset(featureClass) pClass = pWorkspace.OpenFeatureClass(featureClass) pLayer = New ESRI.ArcObjects.Core.FeatureLayer pLayer.FeatureClass = pClass pLayer.Name = pClass.AliasName pLayer.Visible = True AxMapCtrol.AddLayer(pLayer) Exit Function EH: MsgBox(Err.Description, vbInformation, "加载数据错误") End Function 有两个问题: 1运行到最后一句AxMapCtrol.AddLayer(pLayer)时报错"未将对象引用设置到对象的实例" 2如果我需要加载的是FeatureDataset,该怎么办? 请大虾们指导!!! |
|
1楼#
发布于:2004-07-02 15:54
<P>未将对象引用设置到对象的实例</P><P>可能是你图层名字格式写错了吧</P>
|
|
|
2楼#
发布于:2004-07-02 16:49
<P>能说具体一些吗??我传的变量featureclass肯定是正确的,因为</P><P>pClass = pWorkspace.OpenFeatureClass(featureClass)没有出错</P><P>我认为是add方法出错了,但是我试了好多都不行!!
</P> |
|
3楼#
发布于:2004-07-05 08:56
晕了,还有没有人能解决这个问题??
|
|
4楼#
发布于:2004-07-05 10:50
已经解决此问题!
|
|