清风流水
路人甲
路人甲
  • 注册日期2004-09-04
  • 发帖数11
  • QQ
  • 铜币136枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1791回复:6

请教熟悉ArcObjects Developer Kit的高手

楼主#
更多 发布于:2004-09-04 19:57
我用AO+VB开发应用程序,使用了ArcObjects Developer Kit__Samples__Controls__ Commands__PageLayout这个DLL,运行时基本正常,但在选择了地图元素后按DEL键时,总是出错,下面是SelectToo_class中的代码,我感觉是有错,可不知怎么改,有遇到过这个问题的高手么?


<P>Private Sub ITool_<I>onKey</I>Up(ByVal keyCode As Long, ByVal Shift As Long)
  On Error GoTo ErrorHandler</P>
<P>  m_ipRubEnvelope.Constraint = esriEnvelopeConstraintsNone
  m_ipRubResizeEnvelope.Constraint = esriEnvelopeConstraintsNone
  
  ' if 'Delete' (keycode = 46) is pressed then delete any selected elements
  If keyCode = 46 Then
      
    Dim ipActiveView As IActiveView
    Dim pGraCont As IGraphicsContainer   ?????此变量不需要赋值么?
    Dim pGraContSel As IGraphicsContainerSelect
    Dim pEnumElem As IEnumElement
    Dim pElem As IElement
    
    Set ipActiveView = m_pHook.ActiveView
    Set pGraContSel = ipActiveView
    Set pEnumElem = pGraContSel.SelectedElements
    
    pEnumElem.Reset
    
    Set pElem = pEnumElem.Next
    Do While Not pElem Is Nothing
      pGraCont.DeleteElement pElem
    Loop
    
    ipActiveView.PartialRefresh esriViewGraphicSelection, Nothing, Nothing
    
  End If
  
  Exit Sub
ErrorHandler:
  HandleError True, "ITool_<I>onKey</I>Up " ; c_ModuleFileName ; " " ; GetErrorLineNumberString(Erl), Err.Number, Err.Source, Err.Description, 1
End Sub</P>
<P>程序中只是DIM了pGraCont变量,后面没有相应的SET语句,这样可以么? </P>
<P>有做过类似的程序,能实现选择后删除功能的么???</P>


喜欢0 评分0
wangel
路人甲
路人甲
  • 注册日期2004-08-27
  • 发帖数122
  • QQ
  • 铜币363枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2004-09-23 10:46
<P>高手!!!!</P><img src="images/post/smile/dvbbs/em02.gif" />
如何让你遇见我 在我最美丽的时刻 为这 我已在佛前求了五百年 求佛让我们结一段尘缘 佛于是把我化做一棵树 长在你必经的路边 面朝大海 春暖花开
举报 回复(0) 喜欢(0)     评分
wlh_jimmy
路人甲
路人甲
  • 注册日期2004-02-02
  • 发帖数66
  • QQ309588724
  • 铜币363枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2004-09-17 16:52
<P>这当然会出错了,因为你的Dim pGraCont As IGraphicsContainer   这个变量根本就没有赋值,</P><P>应该赋值,加上一句set pGraCont = ipActiveView就可以了,或者set pGraCont=pGraContSel就可以了</P>
举报 回复(0) 喜欢(0)     评分
saqimi
路人甲
路人甲
  • 注册日期2004-01-06
  • 发帖数50
  • QQ
  • 铜币138枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2004-09-17 16:17
<P>顶~</P>
举报 回复(0) 喜欢(0)     评分
shark909
路人甲
路人甲
  • 注册日期2004-09-07
  • 发帖数5
  • QQ
  • 铜币114枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2004-09-10 13:29
<P>把出错信息也一并提出来呀</P>
举报 回复(0) 喜欢(0)     评分
清风流水
路人甲
路人甲
  • 注册日期2004-09-04
  • 发帖数11
  • QQ
  • 铜币136枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2004-09-07 10:19
<P>还以为有高手帮我呢,白高兴了</P>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部