2012年1月6日
摘要: 由于习惯于使用For循环,笔者在开发时遇到奇怪的问题。在TTabset组件管理大量对象时使用了类似下面的语句For I:=0 to aTabSet.Tabs.Count-1 dobegin TObject(aTabSet.Tabs.Objects[I]).Free; aTabSet.Tabs.Delete(I);end;乍一看没问题,编译,运行,结果出错啦!找了半天的原因,在发现,如此操作,Tabs.Count都已经发生了变化,I值已经超出Count的范围,不出错才怪!后来改用了While循环,终于不出错啦。研究了一下,如果非要用For循环的话,可以这样写:For I:=aTabSet.T.. 阅读全文
posted @ 2012-01-06 00:50 金山野狼 阅读(723) 评论(9) 推荐(0) 编辑