lhfde
路人甲
路人甲
  • 注册日期2006-05-23
  • 发帖数51
  • QQ
  • 铜币243枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1316回复:1

[求助]在图层记录集中无法写入数据

楼主#
更多 发布于:2006-08-05 10:45
<P>       IMoTableDescPtr     desc;<BR>       IMoMapLayerPtr      layer;<BR>.........................................</P>
<P>//设置图层的字段</P>
<P>        desc->set_FieldCount(2);<BR>        desc->set_FieldType(0,moString);<BR>        desc->set_FieldName(0,WideString("Number"));<BR>        desc->set_FieldLength(0,10);</P>
<P>        desc->set_FieldType(1,moString);<BR>        desc->set_FieldName(1,WideString("Name"));<BR>        desc->set_FieldLength(1, 10);     <BR>..............................................................        </P>
<P>//创建图层<BR>        IMoGeoDatasetPtr geoDataset;<BR>        geoDataset=pMoCon->AddGeoDataset(WideString("水系_polyline"), moShapeTypePoint,<BR>        desc, Variant(False), Variant(False));<BR>       layer=(IDispatch*)CreateOleObject("MapObjects2.MapLayer");</P>
<P><BR><FONT size=2>//</FONT>设置图层的记录集 <BR>        layer->GeoDataset=pMoCon->FindGeoDataset(WideString("水系_polyline"));<BR>        IMoRecordsetPtr recs(layer->Records);<BR>        IMoFieldsPtr fields(layer->Records->Fields);<BR>        <BR>        recs->AddNew();<BR>        fields->Item(Variant("Name"))->set_ValueAsString(WideString("A1"));</P>
<P>        recs->_Update();</P>
<P>编译通过,但在写入时总是提示出错。我是参考vc++的例子(<a href="http://blog.csdn.net/zswzwy/archive/2004/05/29/18875.aspx" target="_blank" >http://blog.csdn.net/zswzwy/archive/2004/05/29/18875.aspx</A>)改的c++builder.</P>
<P>谁能告诉我错在哪??</P>
喜欢0 评分0
lhfde
路人甲
路人甲
  • 注册日期2006-05-23
  • 发帖数51
  • QQ
  • 铜币243枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2006-08-07 01:01
<P>解决了.被esri忽悠了一把</P>
<P>它给出的例子:</P>
<P>IMOFieldPtr fld = flds->Item("ID"); //5.0<BR><BR>IMOFieldPtr fld = flds->Item(Variant("ID")); //6.0<BR></P>
<P>实际上 上面有2个错误.应该这样。</P>
<P>IMoFieldPtr fld =flds->Item(TVariant("ID")); </P>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部