tifa1984
路人甲
路人甲
  • 注册日期2007-03-08
  • 发帖数4
  • QQ
  • 铜币103枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2094回复:4

求助:MO+VB---valid object expected as argument

楼主#
更多 发布于:2007-05-15 18:25
<DIV class=wr></DIV>
<DIV class="wr f14">VB+MO:valid object expected as argument <br><br>毕业设计用程序,非常重要 <br>是用VB+MO打开ESRI的SHAPE文件 <br>功能设计为读取----拓扑关系建立----点匹配----线匹配 <br>我用的MO2.2 <br><br>现在在图层设置时出错:“实时错误5000,valid object expected as argument” <br>求助各位大侠! <br><br>部分程序如下: <br>打开: <br>Private Sub open_Click() <br>Dim i As Long, N As Long <br>Dim laynum As Integer <br>Dim layer As MapObjects2.MapLayer <br>Dim recs As MapObjects2.Recordset <br>Dialog1.InitDir = App.Path <br>Dialog1.Filter = "Pictures(*.shp)|*.shp" <br>Dialog1.Action = 1 <br>If Dialog1.FileName = "" Then <br>Exit Sub <br>End If <br><br>dc.Database = Dialog1.FileName + "\..\" <br>If Not dc.Connect Then <br>MsgBox "在指定的文件夹下没找到图层数据文件!" <br>End <br>End If <br><br>LayerSet(******************注:在这里开始转到图层设置程序块!!!!) <br><br>Map1.Refresh <br><br>省略若干 <br>End Sub <br><br>******************************************************* <br>然后这里是图层设置 <br>在LAYER SET 那里出错 <br><br><br>Private Sub LayerSet() '图层设置模块 <br>Dim i As Long, N As Long <br>Dim gline As MapObjects2.line <br>Dim layer As MapObjects2.MapLayer <br>Dim poly As MapObjects2.Polygon <br>Dim P1 As MapObjects2.point, P2 As MapObjects2.point, startp As MapObjects2.point, endp As MapObjects2.point <br>Dim poins As MapObjects2.Points <br>Dim pts As MapObjects2.Points <br>Dim recs As MapObjects2.Recordset <br>Set layer = New MapLayer <br><br>Set layer.GeoDataset = dc.FindGeoDataset(layname1)----------------**********就是这里程序出错!!!!!!! <br>valid object expected as argument*********************** <br><br>If layer.shapeType = 23 Then <br>layer.Symbol.Style = 1 <br>layer.Symbol.OutlineColor = moBlue <br>ElseIf layer.shapeType = 22 Then <br>layer.Symbol.Color = moBlue <br>End If <br>Map1.Layers.Add layer <br><br>Set layer = New MapLayer <br>Set layer.GeoDataset = dc.FindGeoDataset(layname2) <br>If layer.shapeType = 23 Then <br>'将面实体表示成阴影 <br>layer.Symbol.SymbolType = moFillSymbol <br>layer.Symbol.Style = 8 <br>layer.Symbol.Color = moGray <br><br>ElseIf layer.shapeType = 22 Then <br>layer.Symbol.Style = 2 <br>layer.Symbol.Color = moRed <br>End If <br>Map1.Layers.Add layer <br>End Sub <br><br>我把这2个程序段都复制来了 <br>望各位高手赐教! </DIV>
<DIV class="wr f14"></DIV>
<DIV class="wr f14"><br><br>谢谢!!</DIV>
[此贴子已经被作者于2007-5-16 11:49:16编辑过]
喜欢0 评分0
lzhvinson
路人甲
路人甲
  • 注册日期2007-09-18
  • 发帖数3
  • QQ
  • 铜币114枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2008-06-10 18:52
<P>请问是怎么解决的,我也遇到啦这个问题</P>
举报 回复(0) 喜欢(0)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
2楼#
发布于:2007-07-26 16:47
确定 geodataset 是有效的然后再设置就可以<BR>
GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
waxcumt
路人甲
路人甲
  • 注册日期2007-06-12
  • 发帖数3
  • QQ
  • 铜币115枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2007-07-25 17:53
好东西   发愤图强<img src="images/post/smile/dvbbs/em05.gif" />
举报 回复(0) 喜欢(0)     评分
tifa1984
路人甲
路人甲
  • 注册日期2007-03-08
  • 发帖数4
  • QQ
  • 铜币103枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2007-05-16 11:47
<P>已经解决。。。。</P>
<P>我真有才。。。</P><br><img src="images/post/smile/dvbbs/em03.gif" /><img src="images/post/smile/dvbbs/em03.gif" />
[此贴子已经被作者于2007-5-16 11:48:10编辑过]
举报 回复(0) 喜欢(0)     评分
游客

返回顶部