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;求解.由于代码比较长,我就不写上来了,我新手.望高手指点.谢谢.如果需要补充请留言,谢谢. 展开
 我来答
匿名用户
2013-07-19
展开全部
如果动态创建的组件是从TComponent类继承而来,程序关闭的时候会自动调用Free释放内存,不过为了养成好的编程习惯,还是自己释放的比较好,有始有终嘛。chessboard应该是棋谱数组,每下一个子都会记录下在什么位置了,也就是index:=index+1,index:=-1是这步不要了,标记一下,下次记录在这个-1的位置。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式