阅读:2017回复:4
如何删除图层元素????
<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> |
|
1楼#
发布于:2007-07-20 10:04
<P>mo的编辑很有限的,如果你想用循环批量删除,不能从数据集的头开始,可以尝试一下从end开始,直到第一个删除结束。</P>
|
|
2楼#
发布于:2007-06-27 14:06
试试<img src="images/post/smile/dvbbs/em01.gif" />
|
|
3楼#
发布于:2007-06-20 18:22
<P>删完之后的recs只剩下删掉的那个元素,所以出错。mo的数据编辑功能是很有限的</P>
|
|
4楼#
发布于:2007-06-18 08:22
recs1 和recs2 引用了同一个对象,只能删除一次。
|
|
|