阅读:1571回复:1
如何判断一个对象是否支持某属性或方法
<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编辑过]
|
|
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> |
|