默认头像
路人甲
路人甲
  • 注册日期2005-01-10
  • 发帖数102
  • QQ
  • 铜币617枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2346回复:4

ae+vbnet向scenecontrol或者globecontrol中加载矢量数据问题

楼主#
更多 发布于:2005-09-23 19:47

我现在想要向当前的scenecontrol中加载矢量数据,首先需要将得到的矢量要素类转换为图层,调试的时候,会在m_pshlyr.FeatureClass = m_pshpefile处出现“未将对象引用设置到对象的实例”的错误信息,我在局部变量窗口检查了变量,要素类数据能够得到,但是不能够转换为图层,不知道为什么?请大家帮忙!十分感谢!

下面是我写的代码:

If OpenFileDialog1.ShowDialog = DialogResult.OK Then
           Dim m_pshwsf As IWorkspaceFactory
           m_pshwsf = New ShapefileWorkspaceFactory
           Dim m_Pshfilename As String
           m_Pshfilename = StrReverse(OpenFileDialog1.FileName)
           Dim i As Integer
           Dim j As Integer
           Dim a As Char
           For i = 1 To Len(m_Pshfilename)
               a = GetChar(m_Pshfilename, i)
               If a = "\" Then
                   j = i
                   Exit For
               End If
           Next
           Dim m_Pshpath As String
           m_Pshpath = Mid(m_Pshfilename, j + 1) 'j
           m_Pshpath = StrReverse(m_Pshpath)
           Dim m_pshfile As String
           m_pshfile = StrReverse(Mid(m_Pshfilename, 1, j - 1))
           'm_pshfile = Mid(OpenFileDialog1.FileName, Len(OpenFileDialog1.FileName) - j)
           Dim m_Pshws As IFeatureWorkspace
           m_Pshws = m_pshwsf.OpenFromFile(m_Pshpath, 0)
           'vector is different from the raster in the add procedure
           Dim m_pshpefile As IFeatureClass
           Dim m_pshlyr As IFeatureLayer
           ' m_pshlyr = New FeatureLayer
           m_pshpefile = m_Pshws.OpenFeatureClass(m_pshfile)
           m_pshlyr.FeatureClass = m_pshpefile
           m_pshlyr.Name = m_pshpefile.AliasName

喜欢0 评分0
默认头像
卧底
卧底
  • 注册日期2004-04-18
  • 发帖数235
  • QQ
  • 铜币614枚
  • 威望2点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2005-09-23 21:59
Set m_pshlyr.FeatureClass = m_pshpefile
个人专栏: https://zhuanlan.zhihu.com/c_165676639
举报 回复(0) 喜欢(0)     评分
默认头像
路人甲
路人甲
  • 注册日期2005-01-10
  • 发帖数102
  • QQ
  • 铜币617枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2005-09-24 09:30

kisssy:谢谢!

但是我现在用的是vbnet,根本就不用set了。

所以现在还是不知道问题在那里,大家继续帮忙啊!

谢谢!

举报 回复(0) 喜欢(0)     评分
默认头像
卧底
卧底
  • 注册日期2004-04-18
  • 发帖数235
  • QQ
  • 铜币614枚
  • 威望2点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2005-09-24 09:45

Sorry!

' m_pshlyr = New FeatureLayer

这句为什么注释掉?

个人专栏: https://zhuanlan.zhihu.com/c_165676639
举报 回复(0) 喜欢(0)     评分
默认头像
路人甲
路人甲
  • 注册日期2005-01-10
  • 发帖数102
  • QQ
  • 铜币617枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2005-09-24 15:26

谢谢kisssy。

本来我最初是直接用new featurelayer的,但是接下来发现不能够用featureclass属性,之后又改用ifeaturelayera接口,原来是忘了实例化了,呵呵!真是基础不牢,地动山摇啊!

十分感谢!

举报 回复(0) 喜欢(0)     评分
默认头像

返回顶部