默认头像
路人甲
路人甲
  • 注册日期2004-09-04
  • 发帖数11
  • QQ
  • 铜币136枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1790回复:6

请教熟悉ArcObjects Developer Kit的高手

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

Private Sub ITool_onKeyUp(ByVal keyCode As Long, ByVal Shift As Long)   On Error GoTo ErrorHandler

 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_onKeyUp " ; c_ModuleFileName ; " " ; GetErrorLineNumberString(Erl), Err.Number, Err.Source, Err.Description, 1 End Sub

程序中只是DIM了pGraCont变量,后面没有相应的SET语句,这样可以么?

有做过类似的程序,能实现选择后删除功能的么???

喜欢0 评分0
默认头像
路人甲
路人甲
  • 注册日期2004-09-04
  • 发帖数11
  • QQ
  • 铜币136枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2004-09-07 10:19

还以为有高手帮我呢,白高兴了

举报 回复(0) 喜欢(0)     评分
默认头像
路人甲
路人甲
  • 注册日期2004-09-07
  • 发帖数5
  • QQ
  • 铜币114枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2004-09-10 13:29

把出错信息也一并提出来呀

举报 回复(0) 喜欢(0)     评分
默认头像
路人甲
路人甲
  • 注册日期2004-01-06
  • 发帖数50
  • QQ
  • 铜币138枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2004-09-17 16:17

顶~

举报 回复(0) 喜欢(0)     评分
默认头像
路人甲
路人甲
  • 注册日期2004-02-02
  • 发帖数66
  • QQ309588724
  • 铜币363枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2004-09-17 16:52

这当然会出错了,因为你的Dim pGraCont As IGraphicsContainer   这个变量根本就没有赋值,

应该赋值,加上一句set pGraCont = ipActiveView就可以了,或者set pGraCont=pGraContSel就可以了

举报 回复(0) 喜欢(0)     评分
默认头像
路人甲
路人甲
  • 注册日期2004-08-27
  • 发帖数122
  • QQ
  • 铜币363枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2004-09-23 10:46

高手!!!!

如何让你遇见我 在我最美丽的时刻 为这 我已在佛前求了五百年 求佛让我们结一段尘缘 佛于是把我化做一棵树 长在你必经的路边 面朝大海 春暖花开
举报 回复(0) 喜欢(0)     评分
默认头像

返回顶部