阅读:2093回复:4
求助:MO+VB---valid object expected as argument
<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编辑过]
|
|
1楼#
发布于: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编辑过]
|
|
2楼#
发布于:2007-07-25 17:53
好东西 发愤图强<img src="images/post/smile/dvbbs/em05.gif" />
|
|
3楼#
发布于:2007-07-26 16:47
确定 geodataset 是有效的然后再设置就可以<BR>
|
|
|
4楼#
发布于:2008-06-10 18:52
<P>请问是怎么解决的,我也遇到啦这个问题</P>
|
|