lysoon
路人甲
路人甲
  • 注册日期2005-03-15
  • 发帖数9
  • QQ
  • 铜币152枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1757回复:3

IFeatureLayer.Search报错

楼主#
更多 发布于:2007-03-11 10:52
<P>我有个图层为点层,有字段ObjectID,Name等。我想在该图层的DataGrid表格中点击记录(比如定位ObjectID=20的要素),然后MapContrl控件闪烁显示该点,并定位到该点为Map的中心。我用FeatureLayer.Search(pQryFilter,true,pFeatCur);但执行这条语句是对点的IFeatureLayer.Search一直出错.对面层的IFeatureLayer.Search就可以成功.不知道是甚么原因.</P>
<P>用的是ArcGis Engine 9.2 ,delphi7 .最后有C#代码赐教</P>
<P>var<BR>  pQryFilter:IQueryFilter;<BR>  pFeatCur : IFeatureCursor;<BR>  pFeat : IFeature;<BR>  pShape: IGeometry;<BR>  pColor:IRgbColor;<BR>  pFillSys:ISimpleFillSymbol;<BR>  pEnv:IEnvelope;<BR>  ShapType:esriGeometryType;<BR>begin<BR>  try<BR>    pColor:=CoRgbColor.Create as IRgbColor;<BR>    pColor.Set_Red(1);<BR>    pColor.Set_Green(1);<BR>    pColor.Set_Blue(250);<BR>    pFillSys:=CoSimpleFillSymbol.Create as ISimpleFillSymbol;<BR>    pFillSys.Set_Color(pColor);</P>
<P>    pQryFilter:=CoQueryFilter.Create as IQueryFilter;<BR>    //pQryFilter.Set_SubFields('ObjectID');<BR>    pQryFilter.Set_WhereClause(sqlWhere) ;<BR>    featLyr.Search(pQryFilter,true,pFeatCur);</P>
<P>    pFeatCur.NextFeature(pFeat);<BR>    while pFeat<>nil do<BR>    begin<BR>      pFeat.Get_Shape(pShape);<BR>      pShape.Get_Envelope(pEnv);<BR>      if pShape<>nil then<BR>      begin<BR>        FIMap3.Extent:=pEnv;<BR>        Sleep(1000);<BR>        FMapCtrl.FlashShape(pShape,5,500,pFillSys);<BR>      end;<BR>      pFeatCur.NextFeature(pFeat);<BR>    end;<BR>  except<BR>  end;<BR>end;</P>
喜欢0 评分0
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15947
  • QQ554730525
  • 铜币25339枚
  • 威望15364点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
1楼#
发布于:2007-03-12 10:50
提示什么错误?具体错误行?<img src="images/post/smile/dvbbs/em02.gif" />
举报 回复(0) 喜欢(0)     评分
chenjunfc
外卖仔
外卖仔
  • 注册日期2003-08-14
  • 发帖数58
  • QQ283832077
  • 铜币452枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2007-03-15 15:50
肯定错嘛,点怎么会用到ISimpleFillSymbol?
举报 回复(0) 喜欢(0)     评分
wavvylia
路人甲
路人甲
  • 注册日期2003-07-28
  • 发帖数384
  • QQ
  • 铜币555枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2007-03-20 13:18
三楼说的对。
举报 回复(0) 喜欢(0)     评分
游客

返回顶部