oneche
路人甲
路人甲
  • 注册日期2006-11-11
  • 发帖数2
  • QQ
  • 铜币116枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1494回复:2

[求教]vc+mo问题求教

楼主#
更多 发布于:2007-01-26 14:49
<P>新建一个空的图层,代码如下:</P>
<P> CMoRecordset sourceSet;<br> sourceSet = roadLayer.GetRecords();<br> CMoFields sourceFields( sourceSet.GetFields() );<br> CMoField sourceField( sourceFields.Item( COleVariant(TEXT("shape"))) );</P>
<P> // Create data set and table to descript<br> CMoDataConnection con;<br> if( !con.CreateDispatch(TEXT("MapObjects2.DataConnection")) )<br>  return;<br> CMoGeoDataset desDataSet;</P>
<P> CMoTableDesc desTableDesc;<br> if( !desTableDesc.CreateDispatch( TEXT("MapObjects2.TableDesc") ) )<br>  return;<br> desTableDesc.SetFieldCount( 4 );<br> desTableDesc.SetFieldName( 0, "CODE");<br> desTableDesc.SetFieldType( 0, moString);<br> desTableDesc.SetFieldLength( 0, 10);<br> desTableDesc.SetFieldName( 1, "BM");<br> desTableDesc.SetFieldType( 1, moLong);<br> desTableDesc.SetFieldName( 2, "NAME");<br> desTableDesc.SetFieldType( 2, moString);<br> desTableDesc.SetFieldLength( 2, 14);<br> desTableDesc.SetFieldName( 3, "LENGTH");<br> desTableDesc.SetFieldType( 3, moDouble);</P>
<P> desDataSet = con.AddGeoDataset( "road", moShapeTypeLine, desTableDesc, COleVariant(short(0)), COleVariant(short(0)));<br> if( LPDISPATCH(desDataSet) )<br>  return;<br> CMoMapLayer newLayer;<br> if( !newLayer.CreateDispatch(TEXT("MapObjects2.MapLayer")) )<br>  return;<br> newLayer.SetName( "road" );<br> newLayer.SetGeoDataset( desDataSet );</P>
<P>但是在最后一句newLayer.SetGeoDataset( desDataSet );时,总是给我报异常~~~实在不知道为什么?还请指教,谢谢~~</P>
[此贴子已经被作者于2007-1-26 16:00:52编辑过]
喜欢0 评分0
lhfde
路人甲
路人甲
  • 注册日期2006-05-23
  • 发帖数51
  • QQ
  • 铜币243枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2007-01-26 16:54
<P>CMoGeoDataset moDst(m_curConnection.AddGeoDataset(lyrName+"_temp",moPoint,tblDsc,va,va));<BR>//add to project<BR>if(LPDISPATCH(moDst)==NULL)<BR>  return FALSE;<BR>//加点<BR>CMoMapLayer newLayer;<BR>if(!newLayer.CreateDispatch("MapObjects2.MapLayer"))<BR>{<BR>  throw "init maplayer Wrong!";<BR>  return FALSE;<BR>}</P>
<P>newLayer.SetGeoDataset(moDst);</P>
<P>试一下上面的写法。我怀疑你的desDataSet 创建有问题。</P>

<P><BR>newLayer.SetGeoDataset(moDst);<BR></P>
举报 回复(0) 喜欢(0)     评分
whmwxhanshan123
路人甲
路人甲
  • 注册日期2006-06-17
  • 发帖数3108
  • QQ
  • 铜币6445枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2007-01-27 19:15
<FONT color=#ff0000>帝国出品,必属精品</FONT>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部