DELPHI程序制作 为什么在程序结束运行时要释放动态创建的组件呢?
我跟着书上的例子做了一个很简单五子棋的程序,其中创建了数组chessboard:arrayofTshape;分配动态数组存储空间SetLength(chessboard,...
我跟着书上的例子做了一个很简单五子棋的程序,其中创建了数组chessboard: array of Tshape;分配动态数组存储空间SetLength(chessboard,100);在最后的FORM的OnClose事件要释放动态创建的组件,请问为什么啊?如果不释放动态创建的组件,会出现什么呢? 还有就是悔棋按钮上的代码中, chessboard[index].free;chessboard[index]:=nil;的作用是什么呢?其中index:integer=-1;每在棋盘上按下鼠标左键,index:=index+1;求解.由于代码比较长,我就不写上来了,我新手.望高手指点.谢谢.如果需要补充请留言,谢谢.
展开
1个回答
2013-07-19
展开全部
如果动态创建的组件是从TComponent类继承而来,程序关闭的时候大亏会自动调用Free释放内存,不过为了养成好的编程习惯,还是自己释放的比较好颤皮,有始有终嘛。chessboard应该是棋谱数组,每下一个子都会记录下在什么位置了,也就是index:=index+1,index:=-1是这步不要了,标记一下茄仿差,下次记录在这个-1的位置。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询