a_zhan
路人甲
路人甲
  • 注册日期2008-06-01
  • 发帖数6
  • QQ
  • 铜币126枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1571回复:1

如何判断一个对象是否支持某属性或方法

楼主#
更多 发布于:2008-08-25 12:06
<P>    </P>
<P>    我在地图中用一个圆选择了一块区域,然后在市区单位这个图层中选择该区域内的对象。然后得到这些对象的标题。</P>
<P>但是在取caption的那句 road.GetCaption(); 经常有意外被掷出。得到的内容是</P>
<P>“feature property or method not valid.”</P>
<P>想问的是 有办法判断我选定的那个对象是否支持该方法货属性吗?</P>
<P>谢谢!!!</P>
[此贴子已经被作者于2008-8-25 12:08:31编辑过]
喜欢0 评分0
a_zhan
路人甲
路人甲
  • 注册日期2008-06-01
  • 发帖数6
  • QQ
  • 铜币126枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2008-08-25 12:07
<P>代码如下:</P>
<P>// 得到附近的单位名<BR>  CMapXFeatures roads;<BR>  CString szLyrName = "单位";<BR>  CMapXLayer roadLyr = m_ctrlMapX.GetLayers().Item(szLyrName);<BR>  roads = roadLyr.SearchWithinFeature(mapCircle, miSearchTypePartiallyWithin);<BR>  CString szRoadNames = "附近单位:\r\n\r\n";<BR>  CString szRoadName = "";<BR>  CString szRoadID = "";<BR>  CString szRoadFeatureKey = "";<BR>  CMapXFeature road;<BR>  CMapXFeature roadName;<BR>  for (int j = 1; j < roads.GetCount(); j++)<BR>  {<BR>   road = roads.Item(j);<BR>   try {<BR>    szRoadName = road.GetCaption();<BR>   }<BR>   catch (COleDispatchException *e) {<BR>    e->ReportError();<BR>    e->Delete();<BR>    continue;<BR>   }<BR>   catch (COleException *e) {<BR>    e->ReportError();<BR>    e->Delete();<BR>    continue;<BR>   }<BR>   <BR>   for (int jj = 0; jj < szRoadName.GetLength(); jj++)<BR>   {<BR>    if (szRoadName.GetAt(jj) != 0x0D ;; szRoadName.GetAt(jj) != 0x0A)<BR>    {<BR>     szRoadNames += szRoadName.GetAt(jj);<BR>    }<BR>   }<BR>   szRoadNames += 0x0D;<BR>   szRoadNames += 0x0A;<BR>  }</P>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部