wrorig
路人甲
路人甲
  • 注册日期2006-05-10
  • 发帖数4
  • QQ
  • 铜币123枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2017回复:4

如何删除图层元素????

楼主#
更多 发布于:2007-06-16 11:15
<P>我在DELPHI中编写了一个图层编辑的软件,按住shift可以连续选择图层中的元素,但是  点击  删除的时候,只能删除第一次选择的元素.<BR>如:选择:<BR>recs1, recs2:IMoRecordset;<BR> recs1 := layer.searchshape(selectshape1, 5, '');<BR> recs2 := layer.searchshape(selectshape2, 5, '');</P>
<P>删除的代码:<BR>while (not recs1.eof) do<BR>begin<BR>   recs1.delete;<BR>   recs1.MoveNext;<BR>end;</P>
<P>while (not recs2.eof) do<BR>begin<BR>   recs2.delete; //第一次执行到这个地方时,弹出:delete failed,函数就退出<BR>   recs2.MoveNext;<BR>end;<BR>//即以上代码只能删除第一个recs中的内容.<BR>若改成以下代码,则recs1不能被删除:<BR>while (not recs2.eof) do<BR>begin<BR>   recs2.delete;<BR>   recs2.MoveNext;<BR>end;</P>
<P>while (not recs1.eof) do<BR>begin<BR>   recs1.delete; //第一次执行到这个地方时,弹出:delete failed,函数就退出<BR>   recs1.MoveNext;<BR>end;</P>
<P>请问是什么原因啊????????</P>
<P><BR> </P>
喜欢0 评分0
duoni
路人甲
路人甲
  • 注册日期2007-07-18
  • 发帖数6
  • QQ
  • 铜币116枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2007-07-20 10:04
<P>mo的编辑很有限的,如果你想用循环批量删除,不能从数据集的头开始,可以尝试一下从end开始,直到第一个删除结束。</P>
举报 回复(0) 喜欢(0)     评分
whmwxhanshan123
路人甲
路人甲
  • 注册日期2006-06-17
  • 发帖数3108
  • QQ
  • 铜币6445枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2007-06-27 14:06
试试<img src="images/post/smile/dvbbs/em01.gif" />
举报 回复(0) 喜欢(0)     评分
阿希
路人甲
路人甲
  • 注册日期2007-06-06
  • 发帖数1
  • QQ
  • 铜币95枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2007-06-20 18:22
<P>删完之后的recs只剩下删掉的那个元素,所以出错。mo的数据编辑功能是很有限的</P>
举报 回复(0) 喜欢(0)     评分
雾里看花
路人甲
路人甲
  • 注册日期2004-12-01
  • 发帖数67
  • QQ
  • 铜币351枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2007-06-18 08:22
recs1 和recs2 引用了同一个对象,只能删除一次。
我的博客:http://blog.sina.com.cn/hangtianwen
举报 回复(0) 喜欢(0)     评分
游客

返回顶部